我有一個程序,通過動態加載一個plugin_name.so函數來實現一個插件系統(像往常一樣)。GCC/Linux:將靜態庫添加到.so?
但反過來,我有一個靜態的「助手」庫(可以稱之爲helper.a),它的功能既用於主程序又用於插件的主要功能。它們不必以任何方式進行互操作,它們只是用於文本操作等的輔助函數。
該程序一旦啓動就無法重新加載或重新啓動,這就是爲什麼我期望從插件獲得新的「幫助」功能,而不是來自主程序。
所以我的questin是..是否有可能在.so中強制使用(靜態鏈接?)與主程序不同(可能更新版本)的「助手」版本中的「插件函數代碼」?
這怎麼辦?也許通過靜態鏈接或以其他方式將helper.a添加到plugin_name.so?
我想補充一點,我不想要或希望從主程序使用新的輔助庫..我只是想每一個新的插件有新/更好的幫手庫鏈接。 – conejoroy 2009-08-18 00:10:31
是否有一個原因,你不能使用助手功能的動態鏈接? – 2009-08-18 01:31:01
一旦啓動,主程序無法停止執行,甚至無法重新加載新的helper.so ..並且該程序只需要非常基本的幫助程序功能,因爲它只是插件的佔位符。所以如果我有一個新的/改進或擴展的幫助程序庫,我更願意再次編譯整個插件。我認爲分發一個.so(插件)比兩個.so(插件和最新的插件使用的輔助工具)要更實用 – conejoroy 2009-08-18 04:46:54