0

我写了一个叫做 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'

我一定错过了一些非常简单的东西。谢谢!

4

1 回答 1

0

早些时候,我愚蠢地strip在 strlen.o 上运行,它显然删除了所有符号。干得好我。

于 2010-10-04T04:14:22.697 回答