我有可以使用 masm(ml.exe 或 ml64.exe)为 x64 和 x86 组装的 asm 文件。masm 中是否有一些预定义的宏来检测正在为 x64 组装的文件?现在我手动定义了 _WIN64 然后对其进行测试,但必须有更好的方法来检查它。
您可以尝试测试是否定义了 RAX,如此类似问题的答案之一中所建议的:在编译时从 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...
Run Code Online (Sandbox Code Playgroud)