我有2個文件鏈接:「test.o」和「testlib.a」兩個文件都在同一個文件夾如何使用命令ld
現在我想用連接器加入他們的行列。問題是必須將它們與「ld」命令聯繫起來!
那麼有人能告訴我語法是怎麼樣的嗎?
我嘗試這一點,但它不工作:
ld -I -o testprog test.o testlib.a
我有2個文件鏈接:「test.o」和「testlib.a」兩個文件都在同一個文件夾如何使用命令ld
現在我想用連接器加入他們的行列。問題是必須將它們與「ld」命令聯繫起來!
那麼有人能告訴我語法是怎麼樣的嗎?
我嘗試這一點,但它不工作:
ld -I -o testprog test.o testlib.a
就讓G ++利用你所有的細節問題 - 它會調用ld
了所有正確的參數:
g++ -o testprog test.o testlib.a
如果您想查看正在傳遞給ld
的命令,以便您可以直接調用它,則只需添加-v
標誌:
g++ -v -o testprog test.o testlib.a
如果您的程序不需要大多數程序使用的C++運行時庫部件,您將得到的結果將會工作。如果您想要使用任何C++運行時功能,您將需要提供C++啓動代碼和標準C++庫(例如,您的代碼在main
開始,並且有stdin
,cin
,atexit
的表和許多其他類似的東西被初始化)。
沒有理由直接使用ld
。像Paul R說的那樣,使用g++
來進行鏈接。它知道如何去做所有你需要的事情。只有當你不想這樣做時,如果你正在構建一個操作系統(或內核模塊)或其他一些不使用正常標準運行時庫位的組件。