一个GNU ld的问题
小魔菇 2009-12-29 12:48:21 我的程序分了几个文件夹
每个文件夹都有个makefile 每个下的makefile都用ld把该目录下多个.o连接成一个.o
我用的命令是ld -r -o A.o a.o b.o ...
然后在顶层的makefile把这些生成的.o 最终连接成可执行文件
我用的命令是ld -s -o exec A.o B.o
但是执行的时候出错了
然后我换了种方式 不在每个文件夹下用ld
而是只在顶层的makefile用了一次ld,把所有的.o连接成一个可执行文件 成功了
想请教的是 为什么会这样的情况?
ld除了重定位数据和符号之外 还做了什么事情?