Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2759 connectés 

  FORUM HardWare.fr
  Programmation
  C

  explications sur un warning gcc

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

explications sur un warning gcc

n°570516
Moktar1er
No one replies...
Posté le 19-11-2003 à 10:50:58  profilanswer
 

Citation :


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?

mood
Publicité
Posté le 19-11-2003 à 10:50:58  profilanswer
 

n°570523
Moktar1er
No one replies...
Posté le 19-11-2003 à 10:58:48  profilanswer
 

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"

n°570533
Taz
bisounours-codeur
Posté le 19-11-2003 à 11:07:07  profilanswer
 
n°570543
Moktar1er
No one replies...
Posté le 19-11-2003 à 11:17:32  profilanswer
 

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 [:totoz]
 
donc, est-ce que je dois en conclure que ImageMagick a été programmé n'imp'?


Message édité par Moktar1er le 19-11-2003 à 11:17:45
n°570546
Taz
bisounours-codeur
Posté le 19-11-2003 à 11:18:56  profilanswer
 

j'en ai bien peur

n°571426
Moktar1er
No one replies...
Posté le 20-11-2003 à 11:49:33  profilanswer
 

bon... bah c'est pire que ce que je croyais...

Code :
  1. pthread_t monThread;
  2. int retour;
  3. ...
  4. pthread_join( monThread, (void **)&retour );


ça passe si je compile en -O1 voire sans opti.
sinon je mets -O2 ou -O3 il me ressort le fameux warning...

n°571430
Taz
bisounours-codeur
Posté le 20-11-2003 à 11:53:56  profilanswer
 

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 ?

n°571443
Moktar1er
No one replies...
Posté le 20-11-2003 à 11:59:54  profilanswer
 

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...

n°571444
Taz
bisounours-codeur
Posté le 20-11-2003 à 12:01:30  profilanswer
 

là le cast c'est pour faire plaisir au compilo..
 
 
justement non !!!!!!!!!!!!!!!!
 
 
pthread_join( monThread, (void*)&retour );
 
est correcte au niveau des types .|
 
 
 

n°571452
Moktar1er
No one replies...
Posté le 20-11-2003 à 12:07:32  profilanswer
 

Bah ouais...
J'y aurais pas pensé ... [:spamafote]
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...).


Message édité par Moktar1er le 20-11-2003 à 12:09:01
mood
Publicité
Posté le 20-11-2003 à 12:07:32  profilanswer
 

n°571454
Taz
bisounours-codeur
Posté le 20-11-2003 à 12:09:52  profilanswer
 

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é


Message édité par Taz le 20-11-2003 à 12:10:06
n°571460
Moktar1er
No one replies...
Posté le 20-11-2003 à 12:13:12  profilanswer
 

Taz a écrit :

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é


 
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.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  explications sur un warning gcc

 

Sujets relatifs
ça veut dire quoi : "Warning: Division by zero..."exif_read_data() et warning
[php] désactiver un warning dans une page particulière !Warning: mysql_num_rows(): supplied argument ...
(help) explications de ceci !!Warning: session_start() [function.session-start]:
[CSS] Explications sur un display block[php]Warning:Cannot send session cache limiter - headers already sent
Message de warning à l'execution d'un session_start().[VISUAL STUDIO 6]Warning bizarre - conseil
Plus de sujets relatifs à : explications sur un warning gcc


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR