0
我剛纔試圖編譯靜態libboost系統庫我的小測試應用程序,例如:爲什麼在使用靜態庫進行編譯之後可執行文件增長如此之多?
$ g++ -I ~/lib/boost-1.56/include main.cpp -o main -L~/lib/boost-1.56/lib/ -static -lboost_system
在此之前,我已經編譯沒有靜態庫:
$ g++ -I ~/lib/boost-1.56/include main.cpp -o main -L~/lib/boost-1.56/lib/ -lboost_system
的大小差異的方法大於庫版本之間的大小差異:
- 動態鏈接 - 40K
- 靜態鏈接 - 1.6M
libboost圖書館~/lib/boost-1.56/lib
-rw-rw-r-- 1 USER USER 218K sie 31 14:44 libboost_filesystem.a
lrwxrwxrwx 1 USER USER 29 sie 31 14:43 libboost_filesystem.so -> libboost_filesystem.so.1.56.0
-rwxrwxr-x 1 USER USER 115K sie 31 14:43 libboost_filesystem.so.1.56.0
-rw-rw-r-- 1 USER USER 49K sie 31 14:44 libboost_system.a
lrwxrwxrwx 1 USER USER 25 sie 31 14:43 libboost_system.so -> libboost_system.so.1.56.0
-rwxrwxr-x 1 USER USER 20K sie 31 14:43 libboost_system.so.1.56.0
爲什麼會出現在大小如此巨大的差異?