code C pour conversion de big-endian --> little endian
2 réponses
hicham
Bonjour a tous,
J'ai un programme compiler sur une machine Solaris 8 sparc, et je dois le
faire tourner sur une machine linux debian 3.0 woody. Le problème c'est qu'
il est compilé en big-endian et que la machine sur laquelle se trouve debian
et little-endian. Sachant que je ne puis pas le recompiler, je suis à la
recherche d'un code en c sous linux qui me peremettera de convertir mon
fichier de big-endian vers lillte-endian.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Richard Delorme
hicham a écrit:
J'ai un programme compiler sur une machine Solaris 8 sparc, et je dois le faire tourner sur une machine linux debian 3.0 woody. Le problème c'est qu' il est compilé en big-endian et que la machine sur laquelle se trouve debian et little-endian. Sachant que je ne puis pas le recompiler, je suis à la recherche d'un code en c sous linux qui me peremettera de convertir mon fichier de big-endian vers lillte-endian.
Je ne suis pas sûr de comprendre... Je crois comprendre que tu veux exécuter un programme compilé pour une architecture binaire donnée (Solaris 8 Sparc big-endian) sur une autre architecture (Linux Debian Woody 3.0 (CPU?) little-endian). Ta seule solution est de trouver un émulateur Solaris pour ta Woody, mais je ne sais pas si ça existe. Ton problème d'endianess est sans doute secondaire ici. Convertir un exécutable, est à mon avis, un peu irréaliste comme entreprise.
-- Richard
hicham a écrit:
J'ai un programme compiler sur une machine Solaris 8 sparc, et je dois le
faire tourner sur une machine linux debian 3.0 woody. Le problème c'est
qu' il est compilé en big-endian et que la machine sur laquelle se trouve
debian et little-endian. Sachant que je ne puis pas le recompiler, je suis
à la recherche d'un code en c sous linux qui me peremettera de convertir
mon fichier de big-endian vers lillte-endian.
Je ne suis pas sûr de comprendre... Je crois comprendre que tu veux exécuter
un programme compilé pour une architecture binaire donnée (Solaris 8 Sparc
big-endian) sur une autre architecture (Linux Debian Woody 3.0 (CPU?)
little-endian). Ta seule solution est de trouver un émulateur Solaris pour
ta Woody, mais je ne sais pas si ça existe. Ton problème d'endianess est
sans doute secondaire ici. Convertir un exécutable, est à mon avis, un peu
irréaliste comme entreprise.
J'ai un programme compiler sur une machine Solaris 8 sparc, et je dois le faire tourner sur une machine linux debian 3.0 woody. Le problème c'est qu' il est compilé en big-endian et que la machine sur laquelle se trouve debian et little-endian. Sachant que je ne puis pas le recompiler, je suis à la recherche d'un code en c sous linux qui me peremettera de convertir mon fichier de big-endian vers lillte-endian.
Je ne suis pas sûr de comprendre... Je crois comprendre que tu veux exécuter un programme compilé pour une architecture binaire donnée (Solaris 8 Sparc big-endian) sur une autre architecture (Linux Debian Woody 3.0 (CPU?) little-endian). Ta seule solution est de trouver un émulateur Solaris pour ta Woody, mais je ne sais pas si ça existe. Ton problème d'endianess est sans doute secondaire ici. Convertir un exécutable, est à mon avis, un peu irréaliste comme entreprise.
-- Richard
Yves ROMAN
Bonjour a tous,
J'ai un programme compiler sur une machine Solaris 8 sparc, et je dois le faire tourner sur une machine linux debian 3.0 woody. Le problème c'est qu' il est compilé en big-endian et que la machine sur laquelle se trouve debian et little-endian. Sachant que je ne puis pas le recompiler, je suis à la recherche d'un code en c sous linux qui me peremettera de convertir mon fichier de big-endian vers lillte-endian.
J'espère que c'est bien le fichier de données que tu veux convertir, et non
l'exécutable. Car tu ne pourras pas faire tourner un programme prévu pour un OS sur un autre OS.
Pour le fichier de données, tu auras besoin de connaitre la structure du fichier car il ne faut pas tout permuter.
Merci pour votre aide.
Bonjour a tous,
J'ai un programme compiler sur une machine Solaris 8 sparc, et je dois le
faire tourner sur une machine linux debian 3.0 woody. Le problème c'est qu'
il est compilé en big-endian et que la machine sur laquelle se trouve debian
et little-endian. Sachant que je ne puis pas le recompiler, je suis à la
recherche d'un code en c sous linux qui me peremettera de convertir mon
fichier de big-endian vers lillte-endian.
J'espère que c'est bien le fichier de données que tu veux convertir, et non
l'exécutable.
Car tu ne pourras pas faire tourner un programme prévu pour un OS sur un autre
OS.
Pour le fichier de données, tu auras besoin de connaitre la structure du fichier
car il ne faut pas tout permuter.
J'ai un programme compiler sur une machine Solaris 8 sparc, et je dois le faire tourner sur une machine linux debian 3.0 woody. Le problème c'est qu' il est compilé en big-endian et que la machine sur laquelle se trouve debian et little-endian. Sachant que je ne puis pas le recompiler, je suis à la recherche d'un code en c sous linux qui me peremettera de convertir mon fichier de big-endian vers lillte-endian.
J'espère que c'est bien le fichier de données que tu veux convertir, et non
l'exécutable. Car tu ne pourras pas faire tourner un programme prévu pour un OS sur un autre OS.
Pour le fichier de données, tu auras besoin de connaitre la structure du fichier car il ne faut pas tout permuter.