Bonjour � tous,
Dans l'optique de cr�er un petit os, je me heurt � un probl�me probl�matique (forc�ment) :
Quand je link un code source C, compiler en fichier objet avec gcc, je ne parvient pas � me cr�er d�ex�cutable 32 bits correct. Je m'explique : je veut un fichier 32 bits ex�cutable standard, c'est � dire juste avec du code ex�cutable, pas avec des headers et une structure sp�ciale telle que le elf, par exemple. Pour ld, on peut utiliser la commande :
Mais comme mon pc est en 64 bits, je ne peux pas le faire pour des fichier 32 bits.
Code : S�lectionner tout - Visualiser dans une fen�tre � part $ ld --oformat binary
Sinon, j'ai une autre question :
gcc -c cr�e un fichier ex�cutable binaire, c'est �a ? Mais simplement, sans les headers des fichiers ex�cutables du style elf etc ?
Ensuite, si on utilise un d�sassembleur, est ce que l'on voit les headers ?
Enfin, les commandes :
donnent le m�me r�sultat que :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 gcc -m32 -c monfichier gcc -m32 -c monfichier2 ld -m elf_i386 monfichier.o monfichier2.o -o monexecutable
o� monfichier est monfichier et monfichier2 combin�s ensemble, lorsque j'utilise un d�sassembleur pour voir le r�sultat.
Code : S�lectionner tout - Visualiser dans une fen�tre � part gcc -m32 -c monfichier
Est ce normal ?
Normalement, comme je link en elf, je devrais avoir un fichier elf, non, pas un binaire pur ?
Partager