zanrek
Messages postés25Date d'inscriptiondimanche 26 février 2006StatutMembreDernière intervention26 septembre 2009
-
12 févr. 2008 à 09:50
zanrek
Messages postés25Date d'inscriptiondimanche 26 février 2006StatutMembreDernière intervention26 septembre 2009
-
13 févr. 2008 à 10:10
Bonjour,
Je suis actuellement en train de développer une application en C sur un processeur Intel (P4) via Visual studio. Cette application traite notamment des champs de bits.
Cependant, ce code est voué à être compilé et éxécuté plus tard aussi bien sur une machine Intel que Power PC. Or je sais que Power PC (étant basé sur une archi Motorola) ne dispose pas ses bits dans le même ordre que sur Intel (des histoires de MSB et LSB).
Y a t-il un moyen dans le code d'éxecuter telle partie du code si on est sur intel, et telle autre partie si on est sur Power PC?
J'avais pensé remplis un champ de bit témoin, et en le lisant ensuite, déterminer selon l'ordre dans lequel on récupère les bits, déterminer si on est Inter ou Motorola....
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 12 févr. 2008 à 10:01
Il faudrait deja savoir sur quel type de compilateur tu vas travailler sous Mac.
Si les performances ne sont pas obligatoire, le plus simple est d'utiliser un toolkit genre Qt, qui gère normalement ce genre de problème.
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 12 févr. 2008 à 11:07
A ce moment la je ne vois pas d'autre solution que de créer deux programme avec des décalages de bits en rapport avec le processeur utilisé.
Sinon essaye de voir s'il existe des compilateurs qui savent compiler pour processeur intel et pour processeur Mac en leur spécifiant des options. MinGW est de mémoire capable de faire cela mais c'est à confirmer.
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 12 févr. 2008 à 20:20
tes problemes de LSB et MSB s'appel l'endian de la machine
generalement les pc habituel ont une archi Little Endian mais certaine machine comme parfois les sun sont en BigEndian tu peux le verifier dans ton programme en regardant avec des test avec des int de ce genre : 0x00FF pour voir dans quel ordre sont place les bits et adapter si besoin
note c'est important dans l4imagerie pour le code des couleurs et je crois dans le son ^^
bonne chance (pas besoin de faire plusieur version)
pour plus de precision je t'encourage a faire des recherches sur l'endian
"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
zanrek
Messages postés25Date d'inscriptiondimanche 26 février 2006StatutMembreDernière intervention26 septembre 2009 12 févr. 2008 à 10:15
En fait ce n'est pas pour faire tourner à proprement parler sur un mac mais sur une archi Power PC en général (en gros du code C pas forcément fait pour mac OS).
Apres niveau performance, il faut surtout que le code soit tres stable plutôt que très rapide...
Vous n’avez pas trouvé la réponse que vous recherchez ?