我建立一個包含公共接口發現如何從一個共享庫(ELF/GCC)
共享庫由超過100名對象的某些目標文件public.o共享庫未使用的引用文件,我想如果.so文件最小化大小。有沒有辦法從共享庫中刪除沒有被public.o引用的所有符號?或者,是否有辦法只保留extern「C」函數的依賴關係,剝離所有未使用的C++名稱?
我建立一個包含公共接口發現如何從一個共享庫(ELF/GCC)
共享庫由超過100名對象的某些目標文件public.o共享庫未使用的引用文件,我想如果.so文件最小化大小。有沒有辦法從共享庫中刪除沒有被public.o引用的所有符號?或者,是否有辦法只保留extern「C」函數的依賴關係,剝離所有未使用的C++名稱?
剝離未使用的符號將我們的庫大小從15Mb減少到300kb。它適用於嵌入式Linux設備 - 這相當節省。 – user48956
看本手冊:
http://gcc.gnu.org/wiki/Visibility
它解釋例如如何處理C++名稱的東西。
問題在這裏回答:http://stackoverflow.com/questions/2088409/stripping-linux-shared-libraries – user48956