Различие между режимами x64 и x86 в MASM

У меня есть asm-файл, который можно собрать для x64 и x86 с помощью masm (ml.exe или ml64.exe). Есть ли какой-то предопределенный макрос в masm, чтобы определить, что файл собирается для x64? Прямо сейчас я вручную определил _WIN64, а затем проверил его, но должен быть лучший способ проверить это.


person Pavel P    schedule 30.09.2012    source источник
comment
Нет, о чем я знаю. Вот ссылка на ml64: msdn.microsoft.com/en-us/library/8t163bt0 .aspx   -  person paulsm4    schedule 30.09.2012


Ответы (1)


Вы можете попробовать проверить, определен ли RAX, как это предлагается в одном из ответов на этот аналогичный вопрос: Определение архитектуры во время компиляции из MASM/MASM64

Я использую этот трюк, чтобы создать переменную, которая остановит сборку моего ассемблерного кода x64 в сборках 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...
person kornman00    schedule 25.12.2012