Juste pour signaler a skirby que chez moi ton code fonctionne sans probleme avec VC toolkit 2003.
Si tu utilise code::blocks n'oublie pas de changer le compilateur dans les parametres de ton projet.
int main()
{
std::cout << "Hello world!" << std::endl;
__asm {
mov eax, 1
}
return 0;
}
Comme tu peux le voir on ne peux pas faire plus simple.
Voici l'erreur que j'ai à la compilation :
main.cpp: In function `int main()':
main.cpp:7: error: expected `(' before '{' token
main.cpp:7: error: expected asm body before '{' token
main.cpp:8: error: `mov' undeclared (first use this function)
main.cpp:8: error: (Each undeclared identifier is reported only once for each function it appears in.)
main.cpp:8: error: expected `;' before "eax"
Process terminated with status 1 (0 minutes, 3 seconds)
Pour info, je compile sous CodeBlocks avec Microsoft Visual C++ Toolkit 2003 comme compilateur par défaut.
Sinon, j'ai récupéré la version 2005 Express (400 Mo)
Je vais essayer pour voir ce que ça donne.
Mais si quelqu'un trouve la réponse à ma question avec la version Toolkit 2003 je suis preneur.
Malgré ce que tu crois, j'ai bien l'impression que tu compiles actuellement avec gcc. Car chez moi, avec gcc j'obtiens les mêmes messages. Ceux de VC++ sont assez différents (notamment, il y a à chaque fois le numéro de l'erreur)
C'est clair que ces messages ne sortent pas du compilo VC++, il serait dans tous les cas incapable de transcrire de la syntaxe AT&T car pas fait pour cela..
bonsoir,
avec codeblocks, bien que le compilateur par défaut soit c++ toolkit,
chaque nouveau projet est quand même compilé avec gcc.
en fait, avec le compilateur numéro 0.
le plus rapide, clic droit sur le nom du projet et build options pour changer le compilateur.
sinon, une solution possible est de modifier le projet template :
C:\Program Files\CodeBlocks\share\CodeBlocks\templates\win32.cbp
Il suffisait simplement de modifier les options du projet (et pas seulement le compilateur par défaut) pour que CodeBlocks compile avec Microsoft Visual Toolkit 2003 et non pas avec GCC.