Est que quelqu'un pourrait m'indiquer un moyen aisé de savoir dans les
sources quelle passe (ppc ou x86) le compilo est il en train d'executer ?
J'ai des sources "Endian dependant", mais je n'arrive pas à trouver quoi
tester dans un ifdef pour faire la difference entre la passe x86 et la
passe ppc.
Merci de vos lumières!
--
Jerome
----------------------------------------------------------------------------
Petite collection de vieilles machines....
http://perso.wanadoo.fr/jerome.vernet/
Si vous avez de vieux machins qui trainent dans vos placards, pensez à moi !
Enlever _PASDESPAM_ pour me repondre.
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
root
Est que quelqu'un pourrait m'indiquer un moyen aisé de savoir dans les sources quelle passe (ppc ou x86) le compilo est il en train d'executer ?
J'ai des sources "Endian dependant", mais je n'arrive pas à trouver quoi tester dans un ifdef pour faire la difference entre la passe x86 et la passe ppc.
Utiliser les macros __BIG_ENDIAN__ et __LITTLE_ENDIAN__
Est que quelqu'un pourrait m'indiquer un moyen aisé de savoir dans les
sources quelle passe (ppc ou x86) le compilo est il en train d'executer ?
J'ai des sources "Endian dependant", mais je n'arrive pas à trouver quoi
tester dans un ifdef pour faire la difference entre la passe x86 et la
passe ppc.
Utiliser les macros __BIG_ENDIAN__ et __LITTLE_ENDIAN__
Est que quelqu'un pourrait m'indiquer un moyen aisé de savoir dans les sources quelle passe (ppc ou x86) le compilo est il en train d'executer ?
J'ai des sources "Endian dependant", mais je n'arrive pas à trouver quoi tester dans un ifdef pour faire la difference entre la passe x86 et la passe ppc.
Utiliser les macros __BIG_ENDIAN__ et __LITTLE_ENDIAN__
Paul Gaborit
À (at) Fri, 04 Aug 2006 13:13:57 +0200, Jerome VERNET écrivait (wrote):
Est que quelqu'un pourrait m'indiquer un moyen aisé de savoir dans les sources quelle passe (ppc ou x86) le compilo est il en train d'executer ?
Vous pouvez tester __i386__ et/ou __ppc__ mais ce sont des symboles définis par le compilateur.
J'ai des sources "Endian dependant", mais je n'arrive pas à trouver quoi tester dans un ifdef pour faire la difference entre la passe x86 et la passe ppc.
Pour cela, il vaut mieux chercher du côté de la directive BYTE_ORDER qui sera plus générale (si un jour on a autre chose que du ppc ou du i386...). C'est dans /usr/include/machine/endian.h.
Il y a peut-être une norme (POSIX ou autre) qui définit le symbole officiel...
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
À (at) Fri, 04 Aug 2006 13:13:57 +0200,
Jerome VERNET <jeromevernet_PASDESPAM_@hotmail.com> écrivait (wrote):
Est que quelqu'un pourrait m'indiquer un moyen aisé de savoir dans les
sources quelle passe (ppc ou x86) le compilo est il en train
d'executer ?
Vous pouvez tester __i386__ et/ou __ppc__ mais ce sont des symboles
définis par le compilateur.
J'ai des sources "Endian dependant", mais je n'arrive pas à trouver
quoi tester dans un ifdef pour faire la difference entre la passe x86
et la passe ppc.
Pour cela, il vaut mieux chercher du côté de la directive BYTE_ORDER
qui sera plus générale (si un jour on a autre chose que du ppc ou du
i386...). C'est dans /usr/include/machine/endian.h.
Il y a peut-être une norme (POSIX ou autre) qui définit le symbole
officiel...
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
À (at) Fri, 04 Aug 2006 13:13:57 +0200, Jerome VERNET écrivait (wrote):
Est que quelqu'un pourrait m'indiquer un moyen aisé de savoir dans les sources quelle passe (ppc ou x86) le compilo est il en train d'executer ?
Vous pouvez tester __i386__ et/ou __ppc__ mais ce sont des symboles définis par le compilateur.
J'ai des sources "Endian dependant", mais je n'arrive pas à trouver quoi tester dans un ifdef pour faire la difference entre la passe x86 et la passe ppc.
Pour cela, il vaut mieux chercher du côté de la directive BYTE_ORDER qui sera plus générale (si un jour on a autre chose que du ppc ou du i386...). C'est dans /usr/include/machine/endian.h.
Il y a peut-être une norme (POSIX ou autre) qui définit le symbole officiel...
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
luc
Jerome VERNET wrote:
J'ai des sources "Endian dependant", mais je n'arrive pas à trouver quoi tester dans un ifdef pour faire la difference entre la passe x86 et la passe ppc.
J'ai des sources "Endian dependant", mais je n'arrive pas à trouver quoi
tester dans un ifdef pour faire la difference entre la passe x86 et la
passe ppc.
J'ai des sources "Endian dependant", mais je n'arrive pas à trouver quoi tester dans un ifdef pour faire la difference entre la passe x86 et la passe ppc.
"Use C preprocessor macros like __BIG_ENDIAN__ and __LITTLE_ENDIAN__ to test endianness at compile time."
-- Luc Heinrich
Jerome VERNET
Jerome VERNET wrote:
"Use C preprocessor macros like __BIG_ENDIAN__ and __LITTLE_ENDIAN__ to test endianness at compile time."
Justement, j'ai essayé __BIG_ENDIAN__ (ou __LITTLE_ENDIAN__)et... ça ne
marche pas. Ca ne dit rien de spécial d'ailleurs.
J'utilise XCODE 2.3 sur un G4.
Bizarre bizarre.
Je vais essayer __ppc__.
merci de vos infos.
-- Jerome ---------------------------------------------------------------------------- Petite collection de vieilles machines.... http://perso.wanadoo.fr/jerome.vernet/ Si vous avez de vieux machins qui trainent dans vos placards, pensez à moi ! Enlever _PASDESPAM_ pour me repondre.
"Use C preprocessor macros like __BIG_ENDIAN__ and __LITTLE_ENDIAN__ to
test endianness at compile time."
Justement, j'ai essayé __BIG_ENDIAN__ (ou __LITTLE_ENDIAN__)et... ça ne
marche pas. Ca ne dit rien de spécial d'ailleurs.
J'utilise XCODE 2.3 sur un G4.
Bizarre bizarre.
Je vais essayer __ppc__.
merci de vos infos.
--
Jerome
----------------------------------------------------------------------------
Petite collection de vieilles machines....
http://perso.wanadoo.fr/jerome.vernet/
Si vous avez de vieux machins qui trainent dans vos placards, pensez à moi !
Enlever _PASDESPAM_ pour me repondre.
"Use C preprocessor macros like __BIG_ENDIAN__ and __LITTLE_ENDIAN__ to test endianness at compile time."
Justement, j'ai essayé __BIG_ENDIAN__ (ou __LITTLE_ENDIAN__)et... ça ne
marche pas. Ca ne dit rien de spécial d'ailleurs.
J'utilise XCODE 2.3 sur un G4.
Bizarre bizarre.
Je vais essayer __ppc__.
merci de vos infos.
-- Jerome ---------------------------------------------------------------------------- Petite collection de vieilles machines.... http://perso.wanadoo.fr/jerome.vernet/ Si vous avez de vieux machins qui trainent dans vos placards, pensez à moi ! Enlever _PASDESPAM_ pour me repondre.
Paul Gaborit
À (at) Fri, 04 Aug 2006 14:50:59 +0200, Jerome VERNET écrivait (wrote):
Jerome VERNET wrote:
"Use C preprocessor macros like __BIG_ENDIAN__ and __LITTLE_ENDIAN__ to test endianness at compile time."
Justement, j'ai essayé __BIG_ENDIAN__ (ou __LITTLE_ENDIAN__)et... ça
ne marche pas. Ca ne dit rien de spécial d'ailleurs.
J'utilise XCODE 2.3 sur un G4.
Bizarre bizarre.
Je vais essayer __ppc__.
L'un des deux (__BIG_ENDIAN__ ou __LITTLE_ENDIAN__) devraient être défini. De même pour __ppc__ ou __i386__.
Pour vérifier ce que votre préprocesseur C/C++ définit :
cpp -dM /dev/null
Ça donne la liste des macros prédéfinies (avec leur valeur). Ceci étant, ça n'indique pas celle qu'il faut utiliser...
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
À (at) Fri, 04 Aug 2006 14:50:59 +0200,
Jerome VERNET <jeromevernet_PASDESPAM_@hotmail.com> écrivait (wrote):