我知道gcc鏈接器總是在稍後的obj或lib文件中尋找extern函數。有沒有辦法告訴鏈接器在整個obj文件或lib中查找引用,如果鏈接器在以後的obj中找不到。gcc鏈接器查找函數參考
爲examole,
LD A.OBJ B.OBJ c.obj
如果連接器沒有找到A.OBJ X功能,它會尋找到B.OBJ或c.obj。
如果連接器沒有在b.obj中找到xx函數,它將查看c.obj。如果xx函數在a.obj中,鏈接器將不會引用xx。如何解決這個問題呢。
感謝
我知道gcc鏈接器總是在稍後的obj或lib文件中尋找extern函數。有沒有辦法告訴鏈接器在整個obj文件或lib中查找引用,如果鏈接器在以後的obj中找不到。gcc鏈接器查找函數參考
爲examole,
LD A.OBJ B.OBJ c.obj
如果連接器沒有找到A.OBJ X功能,它會尋找到B.OBJ或c.obj。
如果連接器沒有在b.obj中找到xx函數,它將查看c.obj。如果xx函數在a.obj中,鏈接器將不會引用xx。如何解決這個問題呢。
感謝
@Matthew's answer可能有助於解決您的初始問題(潛在的顯着性能成本),但是如果您的目標文件依賴於順序,那麼您似乎遇到了非正交設計問題。
不清晰的問題,但也許你正在尋找的-(
...... -)
(或--start-group
... --end-group
)選項ld
(如man ld
或ld
documentation online描述)?
我不知道你在問什麼。 – Starkey 2010-10-22 20:55:49