Je fais probablement quelque chose de mal, étant un débutant. Pourriez-vous m'aider s'il vous plaît?"fichier non reconnu" lors de l'utilisation du linker GNU
J'ai écrit simple Bonjour programme mondial en C appelé hello.c, et a couru la commande suivante:
gcc -S hello.c
Ce produit hello.s
. Ensuite, je le fichier avec l'assembleur GNU, as
:
as hello.s
qui a produit un a.out
non exécutable, qui doit encore être lié, je comprends?
J'essaie de le relier à l'aide ld
, comme ceci:
ld a.out
Mais l'erreur suivante:
a.out: file not recognized: File truncated
Et ld
supprime mon dossier.
Ceci est un système Ubuntu x86. Qu'est-ce que je fais mal? Merci beaucoup!
Pour répondre à votre question, je suppose qu'il essaie d'apprendre l'assemblage ... – Zifre
Je m'en rends compte, mais je souhaite utiliser as et ld indépendamment de gcc. J'apprends l'assemblage x86. La sortie de gcc -S m'aide à voir comment gcc implémente divers programmes C dans l'assemblage. Ensuite, je peux modifier et jouer avec ce code d'assemblage et finalement l'assembler et le lier moi-même, en utilisant as et ld. Je me rends compte que gcc peut assembler et lier ces fichiers pour moi, mais il n'utilise que as et ld en mon nom. Je souhaite utiliser as et ld directement. –