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

 


Dernière réponse
Sujet : Cast de gcc Linux par rapport à Forte sous Solaris
joce

Jar Jar a écrit a écrit :

Juste un truc pour vérifier : ça donne quoi avec GCC sous Solaris ?




Ca je sais pas, au boulot il n'y a que forte d'installé je pense


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
joce

Jar Jar a écrit a écrit :

Juste un truc pour vérifier : ça donne quoi avec GCC sous Solaris ?




Ca je sais pas, au boulot il n'y a que forte d'installé je pense

Jar Jar

joce a écrit a écrit :

J'ai le code suivant :
 
   ires1 = (int) (log(64.0)/log(2.0)) ;
 
Sous solaris, avec compilateur forte le résultat est 6.
Sous Linux, avec compilateur GCC, le résultat est 5 :/


Juste un truc pour vérifier : ça donne quoi avec GCC sous Solaris ?

koulip31

joce a écrit a écrit :

ba c'est ses options que je cherche en vain :D




oui mais si c'est comme le coup de la libm :D :D
RTFM je crois :D

joce ba c'est ses options que je cherche en vain :D
koulip31

joce a écrit a écrit :

ok, donc y falloir que les ch'tis gars recodent leur applis s'il veulent être portable sous nunux




suffit de faire un define en fonction de l'os  
et en fonction de celui ci ajouter ou retirrer  
0.000000000000001 affin kil arondisse come tu le veux au resultat  
c'est porc mais bon le resultat est la ;)
mais bon doit i avoir des option a foutre au compilo pour ce genre de trucs a mon avis mais bon

joce ok, donc y falloir que les ch'tis gars recodent leur applis s'il veulent être portable sous nunux
verdoux

joce a écrit a écrit :

ok :/
m'enfin bon on sait jamais avec les options de précision des compilos où tu peux les forcer à fonctionner en mode fp IEEE etc




Ca changera rien.
Le mode IEEE garantit une borne sur l'erreur, pas que les calculs sont exactement identiques.

joce ok :/
m'enfin bon on sait jamais avec les options de précision des compilos où tu peux les forcer à fonctionner en mode fp IEEE etc
verdoux C'est juste que c'est du code pas du tout portable.  
D'une plateforme à l'autre, le résultat sera différent.
joce

Verdoux a écrit a écrit :

C'est pas une option de compil qui va rattrapper une erreur de programmation !



une erreur de prog ?
qu'elle est le type de renvoyé par un log / log si aucun cast n'est fait ?

verdoux C'est pas une option de compil qui va rattrapper une erreur de programmation !
ddoomm désolé, j'avais pas regardé ! (j'suis en train de me prendre la tête sur une connerie en js, et ça m'énerve un peu...) [ ouh ! de moi-même...].
alors là, mis à part se manger le man en entier + le bouquin O'Reilly sur gcc, j'vois pas.
à moins que tu contactes les types qui ont repris gcc en main...
sinon, regarde si y a pas moyen en utilisant des unsigned de passer à côté (??? : ça avait marché une fois pour moi...)
joce hum non :D
ddoomm alors, j'ai fait un petit tour dans le man de gcc, c'est imbuvable !!!!!
par contre, ai vu ça dans google. j'sis pas aller voir, mais ça ressemble à kék'chose qui pourrait t'intéresser, non ?:
 
Distributing Xerces-C++ - [ Traduire cette page ]
... of Xerces-C) and X License (because of ICU). XML4C binaries are published for Solaris
2.6 using Forte C++ 6.2 compiler, HPUX 11.0 using aCC, Redhat Linux 7.2 ...  
xml.apache.org/xerces-c/faq-distrib.html - 45k
joce cc ca fait pareil.
Et fortan j'ai un problème de lib :/
ddoomm il semble que sur le site d'apache (???) il y aurait des infos sur les différents compilos C pour linux. as-tu essayer ta compilation avec un vieux cc tout bête ? (je crois que c'est le plus proche de solaris.?)
joce j'ai laissé un mail sur la mailing de gcc, mais j'ai toujours pas eu de réponse.
Sur le site de GCC GNU y a pas grand chose qui m'aide hélas :/
ddoomm il est possible que le problème vienne de la stratégie de compilation des différents compilo : dynamiquement, on fait quoi quand on a 5.555555555555555556, le 6 final étant déjà un choix d'arrondi avant...
peut-être peux-tu configurer ton gcc (forte, sais pas... :sweat: ).
va voir sur le site de GNU, t'auras peut-être plus d'info...
joce J'ai le code suivant :
 
   ires1 = (int) (log(64.0)/log(2.0)) ;
 
Sous solaris, avec compilateur forte le résultat est 6.
Sous Linux, avec compilateur GCC, le résultat est 5 :/
 
The problem is : comment résoudre le problème sans caster explicitement en (int) ((float)log(64.0)/log(2.0)) (je ne voudrais pas changer le code de l'application).
(option de compilation ou autre ?)
 
Merci d'avance

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)