bourrage en fin de programme - C - Programmation
Marsh Posté le 12-10-2006 à 16:33:49
carot0 a écrit : slt tlm, voila pour un petit projet que je realise j'ai besoin que mon executable ait une taille de 512 octets ( or il ne fait que 50octets) |
Il n'y a aucune solution portable.
Marsh Posté le 12-10-2006 à 18:55:37
Emmanuel Delahaye a écrit : Il n'y a aucune solution portable. |
comment çà ?
Marsh Posté le 12-10-2006 à 19:23:38
carot0 a écrit : comment çà ? |
Ca dépend complètement de ton environnement, de ton compilateur, de ton linker, de ton format de fichier. Même pas sûr qu'il y ait une solution. En tout cas, ça n'a rien à voir avec le langage C.
Au fait, quel intérêt d'avoir un code de taille fixe ?
Marsh Posté le 12-10-2006 à 22:33:48
Emmanuel Delahaye a écrit : Ca dépend complètement de ton environnement, de ton compilateur, de ton linker, de ton format de fichier. Même pas sûr qu'il y ait une solution. En tout cas, ça n'a rien à voir avec le langage C. |
aucun si ce n'est que je tente de coder en c un programme de boot qui doit faire une taille de 512octets et avoir 0xAA55 comme valeur des 2 derniers octets
Marsh Posté le 12-10-2006 à 22:37:29
la solution est tout simple : tu lance un prog a la fin de la compil qui ouvre ton executable le tape dans un tableau de 512 octets (initialisé a zero avant) et voila
Marsh Posté le 12-10-2006 à 22:52:24
red faction a écrit : la solution est tout simple : tu lance un prog a la fin de la compil qui ouvre ton executable le tape dans un tableau de 512 octets (initialisé a zero avant) et voila |
ouais, mais en faite a la mano j'y arrive je voulais un truc plus propre ( comme en asm ou on peut le faire )
Marsh Posté le 12-10-2006 à 23:40:58
carot0 a écrit : ouais, mais en faite a la mano j'y arrive je voulais un truc plus propre ( comme en asm ou on peut le faire ) |
Si ton éditeur de lien est puissant, il sait comment définir un segment à une adresse fixe, et même une valeur d'initialisation. Va falloir lire la doc. C'est de l'embarqué ?
Marsh Posté le 12-10-2006 à 16:32:34
slt tlm, voila pour un petit projet que je realise j'ai besoin que mon executable ait une taille de 512 octets ( or il ne fait que 50octets)
donc j'aimerais pourvoir mettre des octet a 0 jusqu'au 510eme et mettre la valeur 0xAA55 pour les 2 derniers
je travail sous linux avec gcc pour le fichier .o et ld pour faire le binaire
---------------
In a world without walls and fences, who needs Windows and Gates