Si tu as développé un peu du code sur 3 processeurs différents, tu sais que faire cela permet de découvrir plein de bogue...
Bah il y a au moins deux solutions pour écrire du code userspace portable du point de vue du CPU, du premier coup :
1) utiliser un langage dont le runtime est à base de VM
2) si on ne fait pas 1, ne pas coder comme un gruik, faire attention. (marche aussi pour les drivers simples en kernel space)
L'environnement est généralement bien plus problématique que le CPU qui impacte généralement guère plus que big/little endian 32 / 64 bits - ce qui est trivial à gérer moyennant un peu de concentration. Par exemple j'ai déjà codé un soft pour cible POSIX testé sous GNU/Linux, AIX, HP-UX, Solaris et j'en passe, et faisant du GNU d'habitude je me suis laissé allé à croire que strtod() retourne tout le temps 0 quand on lui file une chaîne vide, ce qui n'est pas le cas sous AIX. On peut aussi voir des comportement différents selon les système quand on met LC_NUMERIC en français : des fois la virgule est utilisée, des fois le point.
[^] # Re: backports ?
Posté par Guillaume Knispel . En réponse au journal Le choix d'une distribution Linux. Évalué à 2.
Bah il y a au moins deux solutions pour écrire du code userspace portable du point de vue du CPU, du premier coup :
1) utiliser un langage dont le runtime est à base de VM
2) si on ne fait pas 1, ne pas coder comme un gruik, faire attention. (marche aussi pour les drivers simples en kernel space)
L'environnement est généralement bien plus problématique que le CPU qui impacte généralement guère plus que big/little endian 32 / 64 bits - ce qui est trivial à gérer moyennant un peu de concentration. Par exemple j'ai déjà codé un soft pour cible POSIX testé sous GNU/Linux, AIX, HP-UX, Solaris et j'en passe, et faisant du GNU d'habitude je me suis laissé allé à croire que strtod() retourne tout le temps 0 quand on lui file une chaîne vide, ce qui n'est pas le cas sous AIX. On peut aussi voir des comportement différents selon les système quand on met LC_NUMERIC en français : des fois la virgule est utilisée, des fois le point.