我有asm文件,可以使用masm(ml.exe或ml64.exe)为x64和x86组装。 masm中是否有一些预定义的宏来检测该文件是否正在为x64进行组装?现在我手动定义_WIN64然后测试它,但必须有更好的方法来检查它。
答案 0 :(得分:2)
您可以尝试测试是否定义了RAX,如同类问题的答案之一所示:Detecting architecture at compile time from MASM/MASM64
我使用这个技巧来创建一个变量来阻止我的x64 asm代码在x32版本中组装
IFDEF RAX
END_IF_NOT_X64 equ <>
ELSE
END_IF_NOT_X64 equ end ; kill stop the assembler if we're not compiling for x64
ENDIF
END_IF_NOT_X64
; x64 code...