Assembleur inlining in C sous Linux ??

Fermé
thegen Messages postés 24 Date d'inscription vendredi 21 septembre 2007 Statut Membre Dernière intervention 23 avril 2008 - 29 nov. 2007 à 15:52
kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 5 février 2025 - 29 nov. 2007 à 16:38
Bonjour,
Je veux bien savoir comment intégrer un code assembleur dans un programme écrit en C/C++ sous Linux.
La commande asm ne marche plus, s'il y a une autre, laquelle et quelles bibliotheques dois-je intégrer ?

J'utilise UBUTU avec le compilateur Gcc.

Merci d'avance.
A voir également:

1 réponse

kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 5 février 2025 1 526
29 nov. 2007 à 16:38
Salut,

Pas besoin de bibliothèque pour utiliser primairement de l'assembleur en C.

Note au passage que tu peux écrire ton code dans un fichier externe avec que de l'assembleur, et la tu l'assembles avec l'assembleur de ton choix (pour de l'asm x86, je te conseille nasm) pour obtenir un fichier objet.

Après tu peux exploiter ce code avec du code C.

Sinon, tu fais de l'assembleur inline comme tu le voulais, et là la commande asm marche normalement.
Autres syntaxes:

__asm__(code);
ou
__asm__ __volatile__(code);

Avec la deuxième syntaxe, ton code sera inséré au moment où tu le voulais, en passant outre les optimisations du compilateur.

Si ça ne marche pas chez toi c'est qu'il doit y avoir une raison, donne nous au moins le message d'erreur.
0