如何使用Visual Studio 2017编译汇编代码?

时间:2019-01-26 01:24:08

标签: visual-studio assembly masm

人们希望在Microsoft Visual C ++ 2017中使用汇编与C / C ++几乎一样容易(对于像我这样从事汇编已有50多年的人而言)。这些希望破灭了。

我在网上找到的帮助说:右键单击您的项目名称,然后选择“构建依赖项”,然后选择“构建定制…”。或“ Project->(右键单击)-> Build Dependencies->构建定制...->(检查)masm”不是入门,因为没有提供Project->(右键单击)-> Build Dependencies

在删除了masm要求了解目标处理器类型的一些项目之后,我的代码从ml64汇编。和FWIW似乎extern“ C”无效myAsmFunc(unsigned int *);需要“ public _myAsmFunc”。我发现添加下栏烦人。

那么,我不仅要组装这个特定的.asm,还要为所有ml64组装代码定义通用规则? (最好对32位目标启用垃圾邮件功能。但这不是我要的。)

1 个答案:

答案 0 :(得分:0)

我没有手动输入默认值,而是手动输入了命令行内容。首先,我创建一个空项目,然后添加现有项目,即程序集源文件。然后在项目窗口中,对于每个.asm源文件,我右键单击名称,然后右键单击常规属性,将构建中排除的属性设置为no。然后,使用x64.asm作为示例源文件名,依次单击常规的自定义构建工具(您可能必须启用它),然后单击以下内容。

command line for debug build:
    ml64 /c /Fo$(OutDir)\x64.obj x64.asm
outputs:
    $(OutDir)\x64.obj

command line for release build:  (the only difference is no /c)
    ml64 /Fo$(OutDir)\x64.obj x64.asm
outputs:
    $(OutDir)\x64.obj

对于32位版本,请使用ml而不是ml64。