5

我有可以使用 masm(ml.exe 或 ml64.exe)为 x64 和 x86 组装的 asm 文件。masm 中是否有一些预定义的宏来检测正在为 x64 组装的文件?现在我手动定义了 _WIN64 然后对其进行测试,但必须有更好的方法来检查它。

4

1 回答 1

3

您可以尝试测试是否定义了 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...
于 2012-12-25T06:29:44.903 回答