win32-Ml.exe的用法
不同版本的MASM在使用上有很大的不同, 本节所指的是可用于Win 32汇编编程的MASM 6.14及以上版本, MASM编译器的命令行用法为:
Ml [/选项] 汇编源文件列表 [/link链接选项]
要注意的是汇编选项要集中写在源文件名的前面,比如下面的两条命令:
Ml /c /coff /Cp Test.asm
Ml /c /coff Test.asm /Cp
虽然它们都可以编译Test asm文件, 但第二句的/Cp选项由于写在了汇编源文件名的后面,实际上会被忽略掉。
另外,多个选项之间一定要加空格,经常有初学者将多个选项连在一起写成“/c/coff”,结果当然是会报错,因为编译器将它当做一个选项来辨认了
Ml在Win 32汇编编程中常用的选项:
/AT 允许支持微型内存模式。对与.COM文件格式的要求互相冲突的代码给出错误信息。注意该选项和.MODEL TINY伪指令并不完全相同
/Bl filename 选择其他的连接器
/c (常用)只编译,不连接
/coff (必用)生成obj文件格式为COFF格式
/Cp (常用)源代码区分大小写
/Cu 映射所有标识符的大小写
/Cx 保留公共和外部符号的大小写(默认)
/D sysmbol[=value] 定义给定名字的文本宏。如果没有value部分,文本宏为空。定义中以空格隔开的多个符号必须以引号引起来。
/EP 生成一个预处理后的列表文件(发送到STDOUT).参见/Sf
/F hexnum 把堆栈大小设为hexnum个字节(这与/link /STACK:number是相同的)。值必须以十六进制格式表示。F和hexnum之间必须有一个空格。
/Fe filename 指定可执行文件名
/Fl[ filename] 生成一个汇编代码列表文件。参见/Sf
/Fm[ filename] 创建一个链接映像文件。
/Fo filename 指定目标文件名
/FPi 为浮点运算生成模拟代码(只用于混合语言编程).
/Fr[ filename] 生成.SBR源浏览文件。
/FR[ filename] 生成扩展形式的.SBR源浏览文件。
/Gc 指定使用FORTRAN或Pascal格式的函数调用约定和命名约定
/Gd 指定使用C格式的函数调用约定和命名约定。
/Gz 使用STDCALL调用约定。
/H number 外部名字限制为number个有效字符,默认是31个字符。
/help 调用ML的快速帮助。
/I pathname 设置包含文件路径。最多允许10个/I选项
/link 连接器选项和库
/nologo 在编译成功的情况下屏蔽编译器输出的信息。
/omf 产生OMF(Microsoft Object Module Format)文件。这种格式是老式16位Microsoft连接器(LINK16.EXE)所要求的。
/Sa 打开所有可用信息列表.
/Sc 在列表文件中增加指令执行时间信息。
/Sf 在列表文件中增加第一遍编译后的列表信息。
/Sg 使得MASM生成的带追出现在列表文件中。例如,如果想要查看.IF和.ELSE伪指令如何工作,则可以使用该选项。
/Sl width 设置列表文件中行的宽度,按每行字符数计算。抚慰在60~255之间,或者为0.默认情况下是0,同PAGE width伪指令。
/Sn 生成列表文件时关闭符号表。
/Sp length 设置列表文件每页的长度,按行数计算。范围是10~255,或者为0,默认情况下是0.同PAGE length伪指令。
/Ss text 为列表文件指定子标题,同SUBTITLE text。
/Sx 允许在列表文件中列出为假的条件块的清单。
/Ta filename 汇编不以.ASM扩展名结尾的源文件。
/w 同/W0。
/W level 设置警告级别,level=0,1,2,3
/WX 视警告为错误。
/X 忽略INCLUDE环境路径
/Zd 在目标文件中生成行号信息。
/Zf 使所有符号变成公共符号。
/Zi 在目标文件生成CodeView需要的调试信息。
/Zm 打开M510选项,以最大程度地同MASM5.1兼容。
/Zp[alignment] 对结构指定的字节边界对齐。alignment可以使1,2或4
/Zs 只进行参数检查。
/? 显示ML命令行选项的帮助信息。
/error Report 把汇编器内部的错误信息报告给Microsoft
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
2022-10-09 qt5--关闭程序
2021-10-09 opencv-imshow显示函数
2019-10-09 python操作Excel模块openpyxl