Portabilité de code Intel vers Power PC

[Résolu]
Signaler
Messages postés
25
Date d'inscription
dimanche 26 février 2006
Statut
Membre
Dernière intervention
26 septembre 2009
-
Messages postés
25
Date d'inscription
dimanche 26 février 2006
Statut
Membre
Dernière intervention
26 septembre 2009
-
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....

5 réponses

Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
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.

Shell
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
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.

Shell
Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
17
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"
Messages postés
25
Date d'inscription
dimanche 26 février 2006
Statut
Membre
Dernière intervention
26 septembre 2009

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...
Messages postés
25
Date d'inscription
dimanche 26 février 2006
Statut
Membre
Dernière intervention
26 septembre 2009

Merci pour cette réponse!

Je vais approfondir dans cette voie.