__attribute__

Fermé
infona Messages postés 13 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 24 avril 2008 - 21 avril 2008 à 22:38
kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 5 février 2025 - 22 avril 2008 à 10:27
Bonjour,

J'aimerais savoir c'est quoi "__attribute__" au Linux , parce que j'ai un code C adapté à Linux mais que je compile sur un autre environnement plus spécifique et qui me génère des erreurs à cause de déclarations de typedef de type
"__attribute__((........)) .......", et quand j'élimine le "__attribute__((........)) " et je laisse la deuxième partie de la déclaration l'erreur s'en va , donc je veux savoir c'est quoi l'effet de ce "__attribute__" et l'effet de son élimination.


Merci beaucoup.

4 réponses

kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 5 février 2025 1 526
22 avril 2008 à 01:59
Salut,

Ce sont des instructions propres à GCC et qui pourront donc poser problème avec d'autres compilateurs.
Ca te permet de donner des indications spécifiques au compilateur par exemple pour la convention de passage de paramètres aux fonctions:
http://www.commentcamarche.net/faq/sujet 4874 programmation conventions de passage de parametres sous x86
Ou encore préciser l'alignement des données, étant donné que les structures sont alignées en fonction de la mémoire, on peut forcer un certain alignement...

Bref tout un tas de choses comme ça.
1
kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 5 février 2025 1 526
22 avril 2008 à 03:11
Au fait concernant l'élimnation de ces attributs, la conséquence c'est la surprise totale. Ton programme crashera sûrement , ou bien tu auras des bugs bizzares...
0
infona Messages postés 13 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 24 avril 2008
22 avril 2008 à 09:01
Mer ci kilian, j'espère que j'arriverai à les remplacer par les "indications spécifiques".
0
kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 5 février 2025 1 526
22 avril 2008 à 10:27
Tu trouveras toujours un équivalent pour un autre compilateur à priori...
0