Kevin Kofler (./130) :
Et utiliser une extension VC non portable à la place?
Clang accepte aussi __attribute__((packed)) si je ne me trompe; parmi les compilateurs courants, il n'y a que VC qui n'accepte que ses propres extensions.
Quant aux compilateurs moins courants, ils ne gèrent pas forcément ni l'une ni l'autre syntaxe, parce que ni l'un ni l'autre n'est du C standard.
Les pragma sont un moyen standard de donner des ordres a un compilateur contrairement a des attributs comme le fait GCC.
Si le compilateur ne comprend pas un pragma, il a deux possibilitée :
- Il l'ignore
- Il affiche un warning pour dire "ça je ne connais pas"
Si tu utilise la méthode GCC, un compilo non GCC qui ne comprend pas va faire
"Error - file.c:42: You put a fucking thing here that I don't understand"