Une petite question me tarraude!
Est-ce que l'union est portable d'une architecture à une autre?
Typiquement, est-ce que le programme tournera sur un sparc comme sur un ix86
(sous le même OS)?
En effet, est-ce que sur certaines machines les poids forts/faibles ne
sont-ils pas inversés?
ex:
typedef union _u_int
{
int int_val;
char char_val[4];
}u_int;
Accède-t-on au premier octet de int_val par char_val[0], char_val[3]
ou ça dépend?
- Je suis à peu près convaincu que, si vous vous limitez à un nombre fini de plateformes (x86, x86-64, Sparc par exemple), l'union comme vous voulez l'utiliser ne vous emmerdera pas,
ÀMHA, là tu t'avances... Le Sparc est gros-boutien, je crois...
Oui.
Pas tout à fait, depuis une dizaine d'années, l'architecture SPARC v9 (ultraSPARC, 64 bits) permet de basculer d'un mode à l'autre "à chaud", et meme d'avoir un mode mixte ou l'O/S (supervisor) est big endian mais une application (user mode) est little endian ... Je ne l'ai jamais vu mis en oeuvre et c'est toujours le big-endian qui est utilisé, mais un jour quelqu'un se lancera peut-etre ...
- Je suis à peu près convaincu que, si vous vous limitez à un nombre
fini de plateformes (x86, x86-64, Sparc par exemple), l'union comme
vous voulez l'utiliser ne vous emmerdera pas,
ÀMHA, là tu t'avances... Le Sparc est gros-boutien, je crois...
Oui.
Pas tout à fait, depuis une dizaine d'années, l'architecture SPARC v9
(ultraSPARC, 64 bits) permet de basculer d'un mode à l'autre "à chaud",
et meme d'avoir un mode mixte ou l'O/S (supervisor) est big endian mais
une application (user mode) est little endian ...
Je ne l'ai jamais vu mis en oeuvre et c'est toujours le big-endian qui
est utilisé, mais un jour quelqu'un se lancera peut-etre ...
- Je suis à peu près convaincu que, si vous vous limitez à un nombre fini de plateformes (x86, x86-64, Sparc par exemple), l'union comme vous voulez l'utiliser ne vous emmerdera pas,
ÀMHA, là tu t'avances... Le Sparc est gros-boutien, je crois...
Oui.
Pas tout à fait, depuis une dizaine d'années, l'architecture SPARC v9 (ultraSPARC, 64 bits) permet de basculer d'un mode à l'autre "à chaud", et meme d'avoir un mode mixte ou l'O/S (supervisor) est big endian mais une application (user mode) est little endian ... Je ne l'ai jamais vu mis en oeuvre et c'est toujours le big-endian qui est utilisé, mais un jour quelqu'un se lancera peut-etre ...
Jean-Louis Liagre
- Je suis à peu près convaincu que, si vous vous limitez à un nombre fini de plateformes (x86, x86-64, Sparc par exemple), l'union comme vous voulez l'utiliser ne vous emmerdera pas,
ÀMHA, là tu t'avances... Le Sparc est gros-boutien, je crois...
Oui.
Pas tout à fait, depuis une dizaine d'années, l'architecture SPARC v9 (ultraSPARC, 64 bits) permet de basculer d'un mode à l'autre "à chaud", et meme d'avoir un mode mixte ou l'O/S (supervisor) est big endian mais une application (user mode) est little endian ... Je ne l'ai jamais vu mis en oeuvre et c'est toujours le big-endian qui est utilisé, mais un jour quelqu'un se lancera peut-etre ...
- Je suis à peu près convaincu que, si vous vous limitez à un nombre
fini de plateformes (x86, x86-64, Sparc par exemple), l'union comme
vous voulez l'utiliser ne vous emmerdera pas,
ÀMHA, là tu t'avances... Le Sparc est gros-boutien, je crois...
Oui.
Pas tout à fait, depuis une dizaine d'années, l'architecture SPARC v9
(ultraSPARC, 64 bits) permet de basculer d'un mode à l'autre "à chaud",
et meme d'avoir un mode mixte ou l'O/S (supervisor) est big endian mais
une application (user mode) est little endian ...
Je ne l'ai jamais vu mis en oeuvre et c'est toujours le big-endian qui
est utilisé, mais un jour quelqu'un se lancera peut-etre ...
- Je suis à peu près convaincu que, si vous vous limitez à un nombre fini de plateformes (x86, x86-64, Sparc par exemple), l'union comme vous voulez l'utiliser ne vous emmerdera pas,
ÀMHA, là tu t'avances... Le Sparc est gros-boutien, je crois...
Oui.
Pas tout à fait, depuis une dizaine d'années, l'architecture SPARC v9 (ultraSPARC, 64 bits) permet de basculer d'un mode à l'autre "à chaud", et meme d'avoir un mode mixte ou l'O/S (supervisor) est big endian mais une application (user mode) est little endian ... Je ne l'ai jamais vu mis en oeuvre et c'est toujours le big-endian qui est utilisé, mais un jour quelqu'un se lancera peut-etre ...
Jean-Louis Liagre
- Je suis à peu près convaincu que, si vous vous limitez à un nombre fini de plateformes (x86, x86-64, Sparc par exemple), l'union comme vous voulez l'utiliser ne vous emmerdera pas,
ÀMHA, là tu t'avances... Le Sparc est gros-boutien, je crois...
Oui.
Pas tout à fait, depuis une dizaine d'années, l'architecture SPARC v9 (ultraSPARC, 64 bits) permet de basculer d'un mode à l'autre "à chaud", et meme d'avoir un mode mixte ou l'O/S (supervisor) est big endian mais une application (user mode) est little endian ... Je ne l'ai jamais vu mis en oeuvre et c'est toujours le big-endian qui est utilisé, mais un jour quelqu'un se lancera peut-etre ...
- Je suis à peu près convaincu que, si vous vous limitez à un nombre
fini de plateformes (x86, x86-64, Sparc par exemple), l'union comme
vous voulez l'utiliser ne vous emmerdera pas,
ÀMHA, là tu t'avances... Le Sparc est gros-boutien, je crois...
Oui.
Pas tout à fait, depuis une dizaine d'années, l'architecture SPARC v9
(ultraSPARC, 64 bits) permet de basculer d'un mode à l'autre "à chaud",
et meme d'avoir un mode mixte ou l'O/S (supervisor) est big endian mais
une application (user mode) est little endian ...
Je ne l'ai jamais vu mis en oeuvre et c'est toujours le big-endian qui
est utilisé, mais un jour quelqu'un se lancera peut-etre ...
- Je suis à peu près convaincu que, si vous vous limitez à un nombre fini de plateformes (x86, x86-64, Sparc par exemple), l'union comme vous voulez l'utiliser ne vous emmerdera pas,
ÀMHA, là tu t'avances... Le Sparc est gros-boutien, je crois...
Oui.
Pas tout à fait, depuis une dizaine d'années, l'architecture SPARC v9 (ultraSPARC, 64 bits) permet de basculer d'un mode à l'autre "à chaud", et meme d'avoir un mode mixte ou l'O/S (supervisor) est big endian mais une application (user mode) est little endian ... Je ne l'ai jamais vu mis en oeuvre et c'est toujours le big-endian qui est utilisé, mais un jour quelqu'un se lancera peut-etre ...
Jean-Louis Liagre
ÀMHA, là tu t'avances... Le Sparc est gros-boutien, je crois...
Oui.
Pas tout à fait, depuis une dizaine d'années, l'architecture SPARC v9 (ultraSPARC, 64 bits) permet de basculer d'un mode à l'autre "à chaud", et meme d'avoir un mode mixte ou l'O/S (supervisor) est big endian mais une application (user mode) est little endian ... Je ne l'ai jamais vu mis en oeuvre et c'est toujours le big-endian qui est utilisé, mais un jour quelqu'un se lancera peut-etre ...
ÀMHA, là tu t'avances... Le Sparc est gros-boutien, je crois...
Oui.
Pas tout à fait, depuis une dizaine d'années, l'architecture SPARC v9
(ultraSPARC, 64 bits) permet de basculer d'un mode à l'autre "à chaud",
et meme d'avoir un mode mixte ou l'O/S (supervisor) est big endian mais
une application (user mode) est little endian ...
Je ne l'ai jamais vu mis en oeuvre et c'est toujours le big-endian qui
est utilisé, mais un jour quelqu'un se lancera peut-etre ...
ÀMHA, là tu t'avances... Le Sparc est gros-boutien, je crois...
Oui.
Pas tout à fait, depuis une dizaine d'années, l'architecture SPARC v9 (ultraSPARC, 64 bits) permet de basculer d'un mode à l'autre "à chaud", et meme d'avoir un mode mixte ou l'O/S (supervisor) est big endian mais une application (user mode) est little endian ... Je ne l'ai jamais vu mis en oeuvre et c'est toujours le big-endian qui est utilisé, mais un jour quelqu'un se lancera peut-etre ...
Jean-Marc Bourguet
Jean-Louis Liagre writes:
Erwan David wrote:
"Antoine Leca" écrivait :
Pierre Maurette wrote:
Il aurait d'ailleurs peut-être fallu affiner, il n'y a pas que 2 façons d'écrire des 32 bits dans une mémoire dont "l'atome" est de 8 bits.
Certes, mais les autres manières sont ou des dinosaures, ou des mirages. Par contre quand tu passes aux entiers 64 bits ça devinet nettement
plsu complexe en pratique. J'ai vu un processeur (mais j'ai oublié le quel c'était...)
Il s'agit CPUs de la famille des processeurs LSI/11 ou PDP/11,
J'en doute. Les PDP-11 sont des processeurs 16 bits, ce sont les entiers de 32 bits qui étaient représentés 3 4 1 2.
fameux aussi pour leurs mots, sur certains modèles, de 12, 18 ou de 36 bits ...
Les autres (PDP-1, PDP-4, PDP-7, PDP-9, PDP-15 avec 18 bits, PDP-5 et PDP-8 12 bits, PDP-6 et PDP-10 36bits) ont peu de rapports avec le PDP-11 excepté le fabriquant (DEC), à ma connaissance, le seul processeur de Digital ayant peut-être un rapport est le VAX (32 bits) mais il n'était pas "middle-endian".
A+
-- Jean-Marc FAQ de fclc: http://www.isty-info.uvsq.fr/~rumeau/fclc Site de usenet-fr: http://www.usenet-fr.news.eu.org
Il aurait d'ailleurs peut-être fallu affiner, il n'y a pas que
2 façons d'écrire des 32 bits dans une mémoire dont "l'atome"
est de 8 bits.
Certes, mais les autres manières sont ou des dinosaures, ou des mirages.
Par contre quand tu passes aux entiers 64 bits ça devinet nettement
plsu complexe en pratique. J'ai vu un processeur (mais j'ai oublié le
quel c'était...)
Il s'agit CPUs de la famille des processeurs LSI/11 ou
PDP/11,
J'en doute. Les PDP-11 sont des processeurs 16 bits, ce
sont les entiers de 32 bits qui étaient représentés 3 4 1 2.
fameux aussi pour leurs mots, sur certains modèles, de 12,
18 ou de 36 bits ...
Les autres (PDP-1, PDP-4, PDP-7, PDP-9, PDP-15 avec 18 bits,
PDP-5 et PDP-8 12 bits, PDP-6 et PDP-10 36bits) ont peu de
rapports avec le PDP-11 excepté le fabriquant (DEC), à ma
connaissance, le seul processeur de Digital ayant peut-être
un rapport est le VAX (32 bits) mais il n'était pas
"middle-endian".
A+
--
Jean-Marc
FAQ de fclc: http://www.isty-info.uvsq.fr/~rumeau/fclc
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Il aurait d'ailleurs peut-être fallu affiner, il n'y a pas que 2 façons d'écrire des 32 bits dans une mémoire dont "l'atome" est de 8 bits.
Certes, mais les autres manières sont ou des dinosaures, ou des mirages. Par contre quand tu passes aux entiers 64 bits ça devinet nettement
plsu complexe en pratique. J'ai vu un processeur (mais j'ai oublié le quel c'était...)
Il s'agit CPUs de la famille des processeurs LSI/11 ou PDP/11,
J'en doute. Les PDP-11 sont des processeurs 16 bits, ce sont les entiers de 32 bits qui étaient représentés 3 4 1 2.
fameux aussi pour leurs mots, sur certains modèles, de 12, 18 ou de 36 bits ...
Les autres (PDP-1, PDP-4, PDP-7, PDP-9, PDP-15 avec 18 bits, PDP-5 et PDP-8 12 bits, PDP-6 et PDP-10 36bits) ont peu de rapports avec le PDP-11 excepté le fabriquant (DEC), à ma connaissance, le seul processeur de Digital ayant peut-être un rapport est le VAX (32 bits) mais il n'était pas "middle-endian".
A+
-- Jean-Marc FAQ de fclc: http://www.isty-info.uvsq.fr/~rumeau/fclc Site de usenet-fr: http://www.usenet-fr.news.eu.org
Jean-Louis Liagre
Jean-Marc Bourguet wrote:
Jean-Louis Liagre writes:
Erwan David wrote:
"Antoine Leca" écrivait :
Pierre Maurette wrote:
Il aurait d'ailleurs peut-être fallu affiner, il n'y a pas que 2 façons d'écrire des 32 bits dans une mémoire dont "l'atome" est de 8 bits.
Certes, mais les autres manières sont ou des dinosaures, ou des mirages.
Par contre quand tu passes aux entiers 64 bits ça devinet nettement plsu complexe en pratique. J'ai vu un processeur (mais j'ai oublié le quel c'était...)
Il s'agit CPUs de la famille des processeurs LSI/11 ou PDP/11,
J'en doute. Les PDP-11 sont des processeurs 16 bits, ce sont les entiers de 32 bits qui étaient représentés 3 4 1 2.
Exact, ils étaient bien moyen-boutistes mais 32 bits.
Il n'y a pas à ma connaissance de processeurs 64 bits de ce type tordu, heureusement.
fameux aussi pour leurs mots, sur certains modèles, de 12, 18 ou de 36 bits ...
Les autres (PDP-1, PDP-4, PDP-7, PDP-9, PDP-15 avec 18 bits, PDP-5 et PDP-8 12 bits, PDP-6 et PDP-10 36bits) ont peu de rapports avec le PDP-11 excepté le fabriquant (DEC), à ma connaissance, le seul processeur de Digital ayant peut-être un rapport est le VAX (32 bits) mais il n'était pas "middle-endian".
Mais bien de la meme famille (PDP), c'est juste ce que je voulais dire.
Il aurait d'ailleurs peut-être fallu affiner, il n'y a pas que
2 façons d'écrire des 32 bits dans une mémoire dont "l'atome"
est de 8 bits.
Certes, mais les autres manières sont ou des dinosaures, ou des mirages.
Par contre quand tu passes aux entiers 64 bits ça devinet nettement
plsu complexe en pratique. J'ai vu un processeur (mais j'ai oublié le
quel c'était...)
Il s'agit CPUs de la famille des processeurs LSI/11 ou
PDP/11,
J'en doute. Les PDP-11 sont des processeurs 16 bits, ce
sont les entiers de 32 bits qui étaient représentés 3 4 1 2.
Exact, ils étaient bien moyen-boutistes mais 32 bits.
Il n'y a pas à ma connaissance de processeurs 64 bits de ce type tordu,
heureusement.
fameux aussi pour leurs mots, sur certains modèles, de 12,
18 ou de 36 bits ...
Les autres (PDP-1, PDP-4, PDP-7, PDP-9, PDP-15 avec 18 bits,
PDP-5 et PDP-8 12 bits, PDP-6 et PDP-10 36bits) ont peu de
rapports avec le PDP-11 excepté le fabriquant (DEC), à ma
connaissance, le seul processeur de Digital ayant peut-être
un rapport est le VAX (32 bits) mais il n'était pas
"middle-endian".
Mais bien de la meme famille (PDP), c'est juste ce que je voulais dire.
Il aurait d'ailleurs peut-être fallu affiner, il n'y a pas que 2 façons d'écrire des 32 bits dans une mémoire dont "l'atome" est de 8 bits.
Certes, mais les autres manières sont ou des dinosaures, ou des mirages.
Par contre quand tu passes aux entiers 64 bits ça devinet nettement plsu complexe en pratique. J'ai vu un processeur (mais j'ai oublié le quel c'était...)
Il s'agit CPUs de la famille des processeurs LSI/11 ou PDP/11,
J'en doute. Les PDP-11 sont des processeurs 16 bits, ce sont les entiers de 32 bits qui étaient représentés 3 4 1 2.
Exact, ils étaient bien moyen-boutistes mais 32 bits.
Il n'y a pas à ma connaissance de processeurs 64 bits de ce type tordu, heureusement.
fameux aussi pour leurs mots, sur certains modèles, de 12, 18 ou de 36 bits ...
Les autres (PDP-1, PDP-4, PDP-7, PDP-9, PDP-15 avec 18 bits, PDP-5 et PDP-8 12 bits, PDP-6 et PDP-10 36bits) ont peu de rapports avec le PDP-11 excepté le fabriquant (DEC), à ma connaissance, le seul processeur de Digital ayant peut-être un rapport est le VAX (32 bits) mais il n'était pas "middle-endian".
Mais bien de la meme famille (PDP), c'est juste ce que je voulais dire.
Jean-Marc Bourguet
Jean-Louis Liagre writes:
Il n'y a pas à ma connaissance de processeurs 64 bits de ce type tordu, heureusement.
Moi non plus; Erwann a l'air d'en avoir vu un. Domage qu'il ne se souvienne plus de ce que c'est.
fameux aussi pour leurs mots, sur certains modèles, de 12, 18 ou de 36 bits ... Les autres (PDP-1, PDP-4, PDP-7, PDP-9, PDP-15 avec 18 bits,
PDP-5 et PDP-8 12 bits, PDP-6 et PDP-10 36bits) ont peu de rapports avec le PDP-11 excepté le fabriquant (DEC), à ma connaissance, le seul processeur de Digital ayant peut-être un rapport est le VAX (32 bits) mais il n'était pas "middle-endian".
Mais bien de la meme famille (PDP), c'est juste ce que je voulais dire.
Ils sont autant de la même famille que l'Itanium et le Pentium. Peut-être encore moins.
A+
-- Jean-Marc FAQ de fclc: http://www.isty-info.uvsq.fr/~rumeau/fclc Site de usenet-fr: http://www.usenet-fr.news.eu.org
Jean-Louis Liagre <jlliagre@localhost> writes:
Il n'y a pas à ma connaissance de processeurs 64 bits de ce type tordu,
heureusement.
Moi non plus; Erwann a l'air d'en avoir vu un. Domage qu'il
ne se souvienne plus de ce que c'est.
fameux aussi pour leurs mots, sur certains modèles, de 12,
18 ou de 36 bits ...
Les autres (PDP-1, PDP-4, PDP-7, PDP-9, PDP-15 avec 18 bits,
PDP-5 et PDP-8 12 bits, PDP-6 et PDP-10 36bits) ont peu de
rapports avec le PDP-11 excepté le fabriquant (DEC), à ma
connaissance, le seul processeur de Digital ayant peut-être
un rapport est le VAX (32 bits) mais il n'était pas
"middle-endian".
Mais bien de la meme famille (PDP), c'est juste ce que je
voulais dire.
Ils sont autant de la même famille que l'Itanium et le
Pentium. Peut-être encore moins.
A+
--
Jean-Marc
FAQ de fclc: http://www.isty-info.uvsq.fr/~rumeau/fclc
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Il n'y a pas à ma connaissance de processeurs 64 bits de ce type tordu, heureusement.
Moi non plus; Erwann a l'air d'en avoir vu un. Domage qu'il ne se souvienne plus de ce que c'est.
fameux aussi pour leurs mots, sur certains modèles, de 12, 18 ou de 36 bits ... Les autres (PDP-1, PDP-4, PDP-7, PDP-9, PDP-15 avec 18 bits,
PDP-5 et PDP-8 12 bits, PDP-6 et PDP-10 36bits) ont peu de rapports avec le PDP-11 excepté le fabriquant (DEC), à ma connaissance, le seul processeur de Digital ayant peut-être un rapport est le VAX (32 bits) mais il n'était pas "middle-endian".
Mais bien de la meme famille (PDP), c'est juste ce que je voulais dire.
Ils sont autant de la même famille que l'Itanium et le Pentium. Peut-être encore moins.
A+
-- Jean-Marc FAQ de fclc: http://www.isty-info.uvsq.fr/~rumeau/fclc Site de usenet-fr: http://www.usenet-fr.news.eu.org