GCC只对库顺序有要求,对.o文件没有顺序要求,愿意大致因为重复扫描导致的性能差,详细可能需要参考Linkers and Loaders: http://www.iecc.com/linker/
转自:http://blog.csdn.net/ah__fu/archive/2007/08/01/1721013.aspx
GCC在链接过程中,对参数中的库的顺序是有要求的,参数右侧的库会先于左侧的库加载,也就是说参数的解析是从右往左的。
假设库B依赖与库A,则链接的时候要写为:
gcc -o bin B A
如果写为:
gcc -o bin A B
则在B中引用的A中的内容就会无法链接通过。