我有asm文件,可以使用masm(ml.exe或ml64.exe)为x64和x86组装. masm中是否有一些预定义的宏来检测该文件是否正在为x64进行组装?现在我手动定义_WIN64,然后测试它,但必须有一个更好的方法来检查它. 最佳答案 您可以尝试测试是否定义了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...