2009-08-24 6 views
0

Es ist mir gelungen, NASM als Compiler für separate .asm-Dateien zu definieren, aber ich kann keinen Weg finden, NASM als Compiler für Inline-Assembler zu setzen (__asm-Anweisung). Beispiel:Verwenden von NASM als Inline-Assembler-Compiler in Visual Studio 2008?

helloWorld db "Hello world !",0 

wird nicht kompiliert (Assembler-Syntaxfehler, gefunden "db"). Gibt es eine Möglichkeit, das zu tun? Oder muss ich MASM verwenden oder eine andere Entwicklungsumgebung verwenden? Danke!

ps: durch die Art und Weise der MSDN gibt keine Ahnung: D

Antwort

2

Ich denke, dass die Inline-Assembler eingebaut sind (nicht MASM) und kann nicht Plug-ersetzt sein. Sie können einen externen Assembler (z. B. MASM) von sich aus (nicht als Inline-Assembler) verwenden, um Objektdateien (*.obj) zu erstellen, und dann diese Objektdateien mithilfe des Linkers mit Ihrem C++ - Code verknüpfen.

+0

Mit NASM ist es wahrscheinlich, dass die Objektdateien die Erweiterung .o haben. –

0

Die docs ausdrücklich sagen, dass es eingebaut ist:

Der Inline-Assembler wird in den Compiler integriert, so dass Sie wie dem Microsoft Macro Assembler (MASM) keine separate Assembler benötigen.

Und nein, es gibt keine Möglichkeit, Plugins zu verwenden. Wenn Sie könnten, wäre das Hinzufügen von Unterstützung für andere Plattformen (ARM, x64, usw.) einfach, anstatt vollständig nicht unterstützt zu werden.