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中的內容就會無法鏈接通過。