Conertion C++ en hex

Fermé
arias1101 Messages postés 48 Date d'inscription vendredi 4 avril 2008 Statut Membre Dernière intervention 29 juillet 2011 - 19 janv. 2009 à 10:01
arias1101 Messages postés 48 Date d'inscription vendredi 4 avril 2008 Statut Membre Dernière intervention 29 juillet 2011 - 25 janv. 2009 à 19:44
Bonjour,
Je cherche un programme capable de convertir tout simplement du language C ou Cpp en hex et pouvant enregistrer le fichier en .hex

Merci d'avance.
A voir également:

14 réponses

Bonjour;

le code suivant te permet de convertir de Dec au Hex


DWORD __stdcall HexaToDecimal(const char* pszHexa)
{
DWORD ret = 0, t = 0, n = 8, c;
while(c = *pszHexa) {
if((c >= '0') && (c <= '9')) t = (c - '0');
else if((c >= 'A') && (c <= 'F')) t = (c - 'A' + 10);
else if((c >= 'a') && (c <= 'f')) t = (c - 'a' + 10);
else break;
ret *= 16; ret += t;
pszHexa++;
if(--n == 0) break;
}
return ret;
}
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
19 janv. 2009 à 15:49
Je ne comprends pas ce que tu veux faire. tu veux "convertir" les .cpp ou les .exe ? cherche du coté des éditeurs hexadécimal.
Samy, ta solution fait l'inverse: elles convertie une chaine de caractère hexadécimale en entier.
Qui d'ailleurs n'est pas forcément décimal, mais dépend de l'affichage qui en sera fait après.
0
arias1101 Messages postés 48 Date d'inscription vendredi 4 avril 2008 Statut Membre Dernière intervention 29 juillet 2011
19 janv. 2009 à 20:06
je souhaite changer un fichier .c ou .cpp en fichier .hex
en changeant seulement la racine cela ne fonctionne pas, c'est pour l'intégrer ensuite dans un robot de lisant que l'hexadécimal
0
Mahmah Messages postés 496 Date d'inscription lundi 17 septembre 2007 Statut Membre Dernière intervention 22 juin 2010 125
19 janv. 2009 à 20:34
Bonjour,

Je suis peut-être hors sujet mais convertir du C++ en un fichier hexadécimal me paraît un peu bizarre.

"Hex" ne serait pas par hasard le format binaire .hex d'Intel ?
Auquel cas :
gcc -o test.o -c test.cpp
objcopy -O ihex test.o test.hex


Sinon, si c'est vraiment de l'hexadécimal il suffit de faire un programme qui ouvre ton fichier source, lit les caractères et les recopie en hexa dans un autre fichier, y en a pour 10 lignes à faire ça.

M.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
20 janv. 2009 à 08:22
Comme je l'ai souvent dit, les données sont stocké dans un ordinateur sous une seule et unique forme : une suite de bit.
Ensuite, hexadecimal, decimal, ASCII, UNICODE, ce n'est qu'une façon de regrouper ces bits et de les interprétés, de leur associé une image (un caractère).
Je pense que Mahmah doit apporté la bonne solution. Si ce n'est pas le cas, il faut que tu nous explique vraiment mieux ton problème : pourquoi, comment, dans quel but, quel outils.
L'intéret d'un éditeur hexadécimal est de lire n'importe quel fichier par bit, et de les regrouper par 16 (hexadecimal) et 32 (ascii)
0
arias1101 Messages postés 48 Date d'inscription vendredi 4 avril 2008 Statut Membre Dernière intervention 29 juillet 2011
20 janv. 2009 à 15:12
je vous expose le problème en entier dans ce cas:

Je dispose d'un programme que j'ai écrit et que je peut enregistrer en format .c ou .cpp
cependant pour l'intégrer robot, il me faut faut qu'il soit en .hex
je ne m'y connais pas assez pour vous donner plus d'information que ça désolé.
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
20 janv. 2009 à 15:29
As tu testé la manip de mahamah ?
C'est quoi ton robot, et qu'est-ce qu'il fait ?
.hex n'est pas un format, c'est une extension de fichier.
Pourquoi donné le programme au robot ?
Je suis sure que tu sais plein d'autre chose. Mais elles te paraissent dérisoires. N'oublie pas que nous ne connaissons absolument le contexte dans lequel tu veux faire ça.
Quel est ton niveau en programmation ?
0
arias1101 Messages postés 48 Date d'inscription vendredi 4 avril 2008 Statut Membre Dernière intervention 29 juillet 2011
21 janv. 2009 à 09:26
Niveau en programmation -2
Je suis en terminale et je travail sur un projet de ppe, j'ai comme objectif avec 3 collègues de configurer un robot (PobLob) pour qu'il suive un fauteuil roulant et qu'il vienne se placer a coter de ce fauteuil quand on le lui demande.
Pour cela, on écrit en langage c++ mais le programme de connexion avec le robot nous demande un fichier en .c et un en .hex

Voila voila ^^"
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
21 janv. 2009 à 11:45
Ok, c'est plus clair maintenant.
Hum... je trouve étonnant qu'il demande un .c ET un .hex. Si le .hex découle du .c, il n'y a pas besoin des deux.
Le mieux est de regarder la documentation du robot pour savoir ce qu'est ce .hex.
Et je continue à penser que mahmah a raison. Si la doc est incomplete essai au moins de savoir quel processeur est dans le robot.
0
naxed Messages postés 2 Date d'inscription mercredi 21 janvier 2009 Statut Membre Dernière intervention 21 janvier 2009
21 janv. 2009 à 13:58
http://www.photomania.com/photoview3.asp?login=x_x21012009_S9YI5&photo=rad82C44.png&album=1

4 – Créer l’application.
Cliquez sur le bouton " Compile " pour lancer la compilation de votre application.
Lors de la compilation, des messages s'afficheront dans la fenêtre appelée "Message des
outils". Ces messages sont ceux du compilateur GNUARM.
La réussite de la compilation est donnée par la dernière ligne de la console. Si le message " …
is successfuly created !!! " apparaît, votre application s'est correctement compilée.
Lorsque la compilation échoue, le message " …is not created " apparaît. Il vous faudra alors
corriger votre application en fonction des messages du compilateur.



Voila ce que la documentation du logiciel de transfert nous dit .
Sauf que pour nous arrivons pas a trouver ou créer un fichier de sortie en . hex pour satisfaire c'est besoin .

On a notre programme en .c comme il nous le demande mais pour avoir le fichier .hex qui y est associer on ne parvient pas .Il nous affiche a chaque fois que l'on a un mauvais fichier . hex .
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
21 janv. 2009 à 14:25
OK.
En fait, c'est un problème de compilation surement.
Marque-t-il "successfuly created " à la fin de la compilation ?
Si je comprends bien, il y a différentes étapes :
-ecrire un fichier source en C nommé xxx.c (ça a l'air d'être fait)
- Compiler ce fichier pour obtenir un fichier xxx.hex (réussi ?)
- Transféré ce fichier sur le Robot (là c'est sur ça coince).
Il faut savoir à quelle étape ça coince et pourquoi. Si le fichier .hex n'est pas créé, c'est peut être à cause d'une erreur de syntaxe dans le fichier.c
0
naxed Messages postés 2 Date d'inscription mercredi 21 janvier 2009 Statut Membre Dernière intervention 21 janvier 2009
21 janv. 2009 à 20:50
Je pense aussi pour les erreurs dans le c , car les programme d'exemple que l'on a dans la documentation du robot marche et s'envoie bien dedans , le seul problème est de corriger nos erreurs .

Pour le fichier .hex je pense avoir trouver une solution , je prend un des exemple fournit , je le copie , ensuite je supprime sont contenue avec le bloc note et je m'en sert comme fichier vierge car je sais pas comment créer un . hex vierge .^^

J'ai aussi trouver quelque dossier qui nous permette de corriger a l'aide des logiciel , j'avais pas penser au début a inclure les ficher header ou ceux fournit dans le dossier pob-tool , sa enlève un bon paquet d'erreur liée au fonction a définir . Il ne reste que des problème de syntaxe et quelque fonction spécial a définir .

Envoyer au robot c'est facile si pob-tool arrive a compiler le fichier en .hex , donc il nous faut régler nos problème et ensuite sa doit marcher correctement .

( limite le plus dure quand on envoie au robot c'est d'arrivé a le connecter a l'ordinateur ^^, il nous ont fait du n'importe quoi la dessus )
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
22 janv. 2009 à 08:33
OK, si vous avez des problèmes de syntaxe qui resistent, n'hésitez pas à demander sur ce forum, c'est son principal but.
0
arias1101 Messages postés 48 Date d'inscription vendredi 4 avril 2008 Statut Membre Dernière intervention 29 juillet 2011
25 janv. 2009 à 19:44
Merci pour toute vos réponses, on reposte en cas de nouveau blocage :)
0