Bonjour,
Je dois porter mes application d'une machine linux 32 bits vers une machine 64 bits :Je n'ai pas de warning de compilation sur ma machine 32, par contre en 64 bits j'ai des warnings concernant des cast. Par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 >machine 32> uname -m i686 >machine 64> uname -m x86_64Le pb vient du cast sur la variable caller.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 int caller; ... XtAddCallback (Button_Close, XmNactivateCallback, close_cb,(XtPointer) caller);
Si je change "int caller" par "long int caller", ce warning disparait, mais engendre de nouveaux warnings sur la variable caller qui n'est plus du même type ... en cascade cela a de nombreuses répercussions.
Le contenu de mes variables n'a pas changé, je sais donc que tout tient dans des int : un int fait 4 octets en 32 bits ou 64 bits, le pb vient du type long int qui est passé de 4 à 8 octets en 64 bits ( ce qui a du aussi modifier la taille du type XtPointer).
Comment puis je supprimer mon Warning initial de manière élégante, sans changer le type de la variable concernée ?
Merci
Partager