J'ai un petit problème après une compilation d'un prog écrit sous linux que je voulais test sous windows.
Voilà le même code me donne pas le même résultat selon l'O.S![]()
Sous linux je compile dans le terminal avec gcc, via code:: sous windows, les options de compil sont les mêmes, le fichier .C est le même.
Voici la partie de code qui foire :
float zoomValeur = 100.0/gdk_pixbuf_get_width(pixbuf);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 int zoomPixbuf (void **adressePixbuf,float zoomValeur) { float width; GdkPixbuf *pixbuf; pixbuf = (GdkPixbuf *)((gpointer)*adressePixbuf); width = gdk_pixbuf_get_width(pixbuf)*zoomValeur; printf("%f\n",width); printf("%f\n",gdk_pixbuf_get_width(pixbuf)*zoomValeur); printf("%f\n",(float)(gdk_pixbuf_get_width(pixbuf)*zoomValeur)); ..... }
int gdk_pixbuf_get_width(pixbuf) = 66;
Sous linux :
100.000000
100.000000
100.000000
Sous Windows (Vista) :
100.000000
99.999999
99.999999
Du coup, quand je casterais en int sous windows les deux dernières versions, je me retrouve avec 99 et pas 100 comme valeur !
Pouvez vous éclairer ma lanterne SVP
Partager