__attribute__

infona Messages postés 13 Statut Membre -  
kilian Messages postés 8854 Statut Modérateur -
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 8854 Statut Modérateur 1 526
 
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 8854 Statut Modérateur 1 526
 
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 Statut Membre
 
Mer ci kilian, j'espère que j'arriverai à les remplacer par les "indications spécifiques".
0
kilian Messages postés 8854 Statut Modérateur 1 526
 
Tu trouveras toujours un équivalent pour un autre compilateur à priori...
0