我写了一个名为strlen的函数:
.section .text
.global strlen
.type strlen, @function
strlen:
... code ...
我这样组装了这个:
as --32 strlen.asm -o strlen.o
然后我在asm中编写了一个程序来打印argv,我希望将其链接到此。我以同样的方式组装。现在我想将它们链接在一起,以便实际程序可以使用strlen。我试过了:
ld printnum.o strlen.o -m elf_i386 -o printnum
但是产生了:
printnum.o: In function `loop':
(.text+0x5): undefined reference to `strlen'
我必须遗漏一些非常简单的事情。谢谢!
答案 0 :(得分:0)
之前我在strlen.o上愚蠢地运行了strip
,这显然删除了所有符号。干得好。