Probablemente estoy haciendo algo mal, siendo un novato. ¿Podrías por favor ayudarme?"archivo no reconocido" durante el uso del enlazador GNU
He escrito un sencillo programa Hola Mundo en C llamado hola.c, y corrió el siguiente comando:
gcc -S hello.c
que produjo hello.s
. Luego utiliza ese archivo con el ensamblador de GNU, as
:
as hello.s
que produjo un no ejecutable a.out
, que todavía debe estar vinculada, entiendo?
que tratan de vincularlo mediante el uso de ld
, así:
ld a.out
Pero sale el siguiente error:
a.out: file not recognized: File truncated
Y ld
borra mi archivo.
Este es un sistema Ubuntu x86. ¿Qué estoy haciendo mal? ¡Muchas gracias!
Para responder a su pregunta, supongo que está tratando de aprender ensamblaje ... – Zifre
Me doy cuenta de eso, pero deseo usar as y ld independientemente de gcc. Estoy aprendiendo ensamblaje x86. La salida de gcc -S me ayuda a ver cómo gcc implementa varios programas C en el ensamblaje. Luego puedo modificar y jugar con ese código ensamblador y finalmente ensamblarlo y vincularlo, usando as y ld. Me doy cuenta de que gcc puede ensamblar y vincular estos archivos por mí, pero solo está usando as y ld en mi nombre. Deseo usar as y ld directamente. –