你这只是binutils linker的行为,而不是c/c++规定的行为
而ld.bfd这样做纯粹是因为最早的时候内存大小的限制io速度慢等造成的
事实上这种行为是反直觉的
Rui在实现lld的时候曾经希望改变这种缺省行为,但是依赖这种行为的代码太多了,所以没改成
【 在 z16166 的大作中提到: 】
: Linker默认按模块先后顺序查找引用到的函数,这个顺序是码农提供的,也就是码农保证
: 在库里面搞一个main(),那是属于蛋疼。即使库里的main()是测试代码,在测试完后也得注释掉。
--
FROM 107.204.171.*