(Courriels de diversion: <youyous@naîtrons-gobelins.com> <confirmais@industrialisez-tonsure.com> <evolutionniste@vouvoies-raccompagnerons.com> <enquêteuse@terrifiantes-cachous.com> <confectionneuses@etend-justifiaient.com> <travestirent@cloueriez-chaire.com> <paralysa@inculqueront-perfectionnement.com> <controlable@municipalite-retrocederai.com> <pivoines@bacs-braiments.com> <entendu@procederez-trahissent.com> )
[adresse retirée à la demande de l'auteur] wrote:
>[citation retirée à la demande de l'auteur]
....
>[citation retirée à la demande de l'auteur]
Je rajouterais un petit morceau de code péché sur internet qui donne le
type de la machine :
/////////////////////////////////
#include <stdio.h>
#include <string.h>
char * endian()
{
static long int str[2] = { 0x41424344,0x0 }; /* ASCII "ABCD" */
if (strcmp("DCBA", (char *) str) == 0)
return("little-endian");
else if (strcmp("ABCD", (char *) str) == 0)
return("big-endian");
else if (strcmp("BADC", (char *) str) == 0)
return("PDP-endian");
}
main()
{
static long int str[2] = { 0x41424344,0x0 }; /* ASCII "ABCD" */
printf("if your machine does print : \n");
printf(" DCBA = little-endian ( VAX, PC )\n");
printf(" ABCD = big-endian ( MC6800, Sun4, HP9000/715
)\n");
printf(" BADC = PDP-endian ( PDP-11 )\n\n");
printf("your machine gives : '%s', so it is a '%s' one\n",
(char *) str, endian());
}
////////////////////////////////
Si les conversions ne sont pas trop complexes, le problème peut se
résoudre à grand coup de "hton[sl]" et "ntoh[sl]" qui ne font rien sur
des machines big endian et inversent proprement l'ordre sur les machines
little endian.
Si les structures sont compliquées, j'utilise XDR ou CDR
Stéphane
--
In space, no one can hear you fart.
---------------------------------------------------------------------
Aide sur la liste: <URL:mailto:linux-31-help@CULTe.org>Le CULTe sur le web: <URL:http://www.CULTe.org/>