1
我有一個名爲test.a的lib文件。 test.a有三個模塊:test1.o,test2.o,test3.o。我只需要模塊test1.o,我如何在我的Makefile中實現這一點。我可以從lib中調整一些模塊,當我將它鏈接到我的Makefile中時?例如,
如果有人知道如何修剪test2.o和test3.o模塊,請告訴我。感謝您的幫助!
我有一個名爲test.a的lib文件。 test.a有三個模塊:test1.o,test2.o,test3.o。我只需要模塊test1.o,我如何在我的Makefile中實現這一點。我可以從lib中調整一些模塊,當我將它鏈接到我的Makefile中時?例如,
如果有人知道如何修剪test2.o和test3.o模塊,請告訴我。感謝您的幫助!
如果您使用的是靜態庫,則只有所需的模塊纔會鏈接到可執行文件中。
如果使用共享庫,則整個庫將在運行時加載,而不管從庫中使用哪些函數。
對於共享庫,他將不得不創建一個單獨的lib,其中只包含他希望在可執行文件中使用的那些模塊。 – slashmais 2010-11-12 07:23:11
以test.a爲例,你的意思是說,當我運行makefile時,如果我的程序沒有使用test2.o和test3.o,它不會被鏈接到可執行文件?我不需要在Makefile中處理它? – user505423 2010-11-12 07:44:11
@ user505423:這是我的回憶 - 你應該嘗試一下,並確認 – 2010-11-12 07:54:28