explications sur un warning gcc - C - Programmation
Marsh Posté le 19-11-2003 à 10:58:48
Bon apparement j'ai du écopper, sous cygwin, d'une version de gcc plus respectueuse de C99 que celle présente sur le serveur linux.
Je ne savais pas que les compilos pouvaient râler pour ça aujourd'hui.
Par contre j'ai toujours pas trouvé de traduction pour "type-punned"
Marsh Posté le 19-11-2003 à 11:17:32
merci taz pour le lien, j'avoue avoir moins de mal en français...
j'ai été voir l'exemple sur:
http://groups.google.fr/groups?sel [...] ethora.net
et maintenant j'ai peur
donc, est-ce que je dois en conclure que ImageMagick a été programmé n'imp'?
Marsh Posté le 20-11-2003 à 11:49:33
bon... bah c'est pire que ce que je croyais...
Code :
|
ça passe si je compile en -O1 voire sans opti.
sinon je mets -O2 ou -O3 il me ressort le fameux warning...
Marsh Posté le 20-11-2003 à 11:53:56
putain mais les mecs, c'est quoi ce bordel !
en C les convertiosn truc*<->void* son implicites, qu'estce que vous avec besoin de caster dans tous les sens là ou l'opération est parfaitement définie ?
Marsh Posté le 20-11-2003 à 11:59:54
euh... là le cast c'est pour faire plaisir au compilo...
en plus tu retrouves la même notation dans la plupart des tutoriaux sur les threads posix...
Marsh Posté le 20-11-2003 à 12:01:30
là le cast c'est pour faire plaisir au compilo..
justement non !!!!!!!!!!!!!!!!
pthread_join( monThread, (void*)&retour );
est correcte au niveau des types .|
Marsh Posté le 20-11-2003 à 12:07:32
Bah ouais...
J'y aurais pas pensé ...
Je me suis laissé enduire avec de l'erreur par le proto de pthread_join... et aussi par la plupart des tutoriaux (d'ailleurs, celui que tu proposes dans les bibliolinks sur les threads POSIX contient la même gaffe...).
Marsh Posté le 20-11-2003 à 12:09:52
et alors ?
void** <-> int* ça te parait compatible ? non
int* <-> void* ? oui, en vertu de la regèle que j'ai énoncée
void* <-> void** ? oui, en vertu de la meme règle
donc int* -> void* -> void**
seulement le compilateur peut pas faire 2 conversions à la suite, donc on fait la première pour lui
je peux pas réécrire tout le net désolé
Marsh Posté le 20-11-2003 à 12:13:12
Taz a écrit : et alors ? |
je ne t'incriminais pas
merci du "coup de pied", sincèrement ça ne m'avait pas sauté à l'esprit de donner le petit coup de pouce qui va bien au compilo.
Marsh Posté le 19-11-2003 à 10:50:58
warning: dereferencing type-punned pointer will break strict-aliasing rules
J'ai ce warning depuis que je compile mon projet sous cygwin.
C'est surtout quand je recompile les sources de mes bases (php, apache, imagemagick etc.).
A votre avis ça signifie quoi exactement?