2009-08-24 6 views
0

J'ai réussi à définir NASM en tant que compilateur pour les fichiers .asm séparés, mais je ne trouve pas un moyen de définir NASM en tant que compilateur pour l'assembleur en ligne (directive __asm). Par exemple,Utilisation de NASM comme compilateur assembleur en ligne dans Visual Studio 2008?

helloWorld db "Hello world !",0 

ne compilera pas (erreur de syntaxe de l'assembleur, trouvée "db"). Y a-t-il un moyen de faire cela? Ou suis-je obligé d'utiliser MASM ou d'utiliser un autre environnement de développement? Merci!

ps: par la façon dont le MSDN ne donne aucune idée: D

Répondre

2

Je suppose que l'assembleur en ligne est intégré (n'est pas MASM), et ne peut pas être plug-remplacé.

Vous pouvez utiliser un assembleur externe (par exemple MASM) pour créer des fichiers objet (*.obj), puis lier ces fichiers objet à votre code C++ à l'aide de l'éditeur de liens.

+0

Avec NASM, il est probable que les fichiers objet auront l'extension .o. –

0

Le docs explicitement dire qu'il est construit dans:

L'assembleur en ligne est intégré dans le compilateur, de sorte que vous n'avez pas besoin d'un assembleur séparé tel que la macro Assembleur Microsoft (MASM).

Et non, il n'y a aucun moyen d'utiliser des plugins. Si vous le pouviez, ajouter le support pour d'autres plateformes (ARM, x64, etc) serait facile, au lieu d'être complètement non supporté.