【Win32汇编】编译环境配置
开始学习【Win32汇编】,编译过程较为繁琐,做个记录。
使用 MASM32 提供的 ml.exe 和 link.exe,以及 VS2013 中的 nmake.exe 和资源编辑器。
ml.exe:
ml [选项] 文件列表 [/link]

link.exe:
link [选项] 文件列表

nmake.exe:
nmake [选项] [描述文件名] [宏定义] [目标文件]
/f 描述文件名:指定其他的描述文件名,而不是默认的 makefile
宏定义:指定新的定义,覆盖描述文件,例:NAME = xxx
目标文件:指定最终生成的文件,覆盖描述文件,例:xxx.obj

巧用环境变量和批处理:
使用 ml 和 link 已经可以完成编译,但频繁的输入大量命令实在浪费时间,创建 makefile 文件,配合 nmake 可提升效率。
为便于管理工程文件,通常使用单独的工程目录,导致编译时需要输入大量的绝对路径,非常繁琐,解决办法是使用环境变量。
Init.bat:
@echo off
set include=x:\masm32\include
set lib=x:\masm32\lib
set path=x:\masm32\bin;%path%
cd ppath\%1
@echo on
设置 include, lib, path 这三个环境变量,就可以在编译时键入相对路径。
[x:] 替换为MASM32所在盘符,[ppath] 替换为工程目录的绝对路径。
复制 nmake.exe 和 cmd.exe 到 bin 目录下,打开 cmd 输入 "Init 工程名",会自动切换至该工程目录,继续输入 nmake ,完成编译。
版权
图片取自《windows环境下32位汇编语言程序设计》
保留版权,欢迎转载,请注明【转载自:Chameleon_Mine】
【Win32汇编】编译环境配置的更多相关文章
- linux内核编译环境配置
linux内核编译环境配置 如果不是编译内核,只需要安装与内核相匹配的kernel-devel开发包即可.即是/lib/modules/`uname -r`/build -> /usr/src/ ...
- Syslinux编译环境配置简要步骤
由于毕业设计要做一个加密U盘的LINUX,需要修改一sysylinux引导程序,在网上很少有关于syslinux编译环境配置的文章,在此简要总结一下,发出来共享. 需要的软件: 1. vmware ...
- Android编译环境配置
Android编译环境配置 网上关于Android编译环境配置的整理资料有不少,经整理亲测后,希望能给需要的亲们提供帮助. 主要分为四步: 1.安装JDK(Java Standard Edition ...
- Berkeley DB (VC6.0 编译环境配置)
操作系统:winxp VC环境:VC6.0 必需文件:Berkeley DB安装文件(db-.msi) 下载地址:http://www.oracle.com/technology/software/p ...
- OpenCL编译环境配置(VS+Nvidia)
英伟达的显卡首先要下载安装CUDA开发包,可以参考这里的步骤: VS2015编译环境下CUDA安装配置 安装好CUDA之后,OpenCL的配置就已经完成了80%了,剩下的工作就是把OpenCL的路 ...
- mac OS(OS X)的OI编译环境配置指南
编译环境:gdb+Atom 如何安装gdb: http://logic0.blog.163.com/blog/static/1889281462014183271283/ Atom下载地址: ht ...
- Android编译环境配置(Ubuntu 14.04)
常识:编译Android源代码需要在Linux系统环境下进行... 在Linux中,开发Android环境包括以下需求:Git.repo.JDK(现在一般使用OpenJDK)等:其中,Git用于下载源 ...
- Android代码编译环境配置 “Gerrit和Git环境配置”
Gerrit和Git环境配置可以参考<git&gerrit操作指导> 步骤1. 先在Gerrit中创建新的账户: 步骤2. 在新的客户端上生成密钥(可以使用的是生成的公钥): 步骤 ...
- windows下hla编译环境配置(转)_1
原文地址:http://blog.chinaunix.net/uid-20548989-id-1667169.html HLA简介 HLA,英文"High Level Ass ...
随机推荐
- 屏幕适配-使用autoLayout
当遇见xib中无法删除的控件时. 将这个错误的控件拖离本xib(第一个元素.xib文件是有许多元素组成的集合),确保这个xib是正确的.重新创建一个xib文件,将这个正确的xib元素整个复制过去. 在 ...
- 「HNSDFZ暑期集训 测试1」「LuoguT36488」 连连看
题目描述 给定一个n × m的矩形地图,每个各自上可能为空,可能有牌,牌上有一个数字. 对于两张同样数字的牌,如果我们可以在地图上用不超过三根水平或竖直,在地图界内,且不经过其他牌的线段将两张牌连起来 ...
- How to study Watir?
我在群空间,总是看到很多Watir新手,反复的问:我对元素的定位怎么又出错?我该从哪里着手啊?我给一个我认为最简单方便的学习方法.1. Ruby语法基础要入门,网上有一个不到2M的帮助文档,从头到尾仔 ...
- linux的存储结构
在linux中存储结构如下: Linux系统中的文件存储结构 那么在linux中每个目录都是什么含义呢 在linux中相对路径和绝对路径是必须要了解的一个概念 绝对路径(absolute path): ...
- 常用的Ant风格书写
原文地址 Ant风格,为请求路径的一种匹配方式 通配符 说明 ? 匹配任意一个字符 * 匹配任意字符(包括0个) ** 匹配任意层路径(包括0个) 支持Ant风格 1.spring资源加载 clas ...
- Spring之配置文件加载方式
spring在org.springframework.core.io包中提供了多种配置文件加载方式.无论是XML.URL还是文件,都有很好的支持.比如基于URL的UrlResource.基于输入流的I ...
- Educational Codeforces Round 21 D - Array Division (前缀和+二分)
传送门 题意 将n个数划分为两块,最多改变一个数的位置, 问能否使两块和相等 分析 因为我们最多只能移动一个数x,那么要么将该数往前移动,要么往后移动,一开始处理不需要移动的情况 那么遍历sum[i] ...
- poj3069【贪心,水】
妈蛋,题意看错-看了挑战时被标记的点还是给出的点,瞎搞了半个多小时... = =都想气的扔进水题系列了 #include <iostream> #include <cstdio> ...
- hdoj1024【DP.最 大 m 字 段 和】(写完我都怕。。。不忍直视。。)
弱弱上路,看了好多题解....[A的] 题意就是求最大m子段和. 我们先用a[1e6+7]存入数据: 定义:DP[ i , j ] 为前 j 个元素的 i 个子段的最大和,且第 i 个子段中包含了元素 ...
- Codeforces Round #357 (Div. 2)C. Heap Operations
用单调队列(从小到大),模拟一下就好了,主要是getMin比较麻烦,算了,都是模拟....也没什么好说的.. #include<cstdio> #include<map> #i ...