Frage

Ich schrieb eine Funktion namens Strlen:

.section .text
.global strlen
.type strlen, @function
strlen:
... code ...

Ich montierte dies wie folgt:

as --32 strlen.asm -o strlen.o

Dann schrieb ich ein Programm in asm argv zu drucken, die ich mit diesem Link zu wollen. Ich zusammengebaut, dass die gleiche Weise. Jetzt möchte ich sie zusammen so verbinden, dass das eigentliche Programm Strlen nutzen kann. Ich habe versucht:

ld printnum.o strlen.o -m elf_i386 -o printnum

, aber das ergibt:

printnum.o: In function `loop':
(.text+0x5): undefined reference to `strlen'

Ich muss etwas wirklich einfach fehlen. Dank!

War es hilfreich?

Lösung

Früher lief ich dummerweise strip auf strlen.o, die offensichtlich alle Symbole entfernt. Gute Arbeit ich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top