我有一個軟件庫,我用來創建.a文件,使人們可以安裝它們,並連接它們:g++ foo.o -L/path/to -llibrary
將我的代碼打包爲庫時應該創建.a還是.so?
但現在我經常遇到只有.so文件是可用的第三方庫(而不是的.a),並且您只需鏈接它們而不使用-l
開關,例如g++ foo.o /path/to/liblibrary.so
。
這些解決方案有什麼區別?我應該更喜歡爲我的圖書館的用戶創建.so文件嗎?在
http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
請參閱[靜態和共享庫之間的區別C ](http://stackoverflow.com/questions/2649334/difference-between-static-and-shared-library-in-c)。 – 2010-11-19 19:06:39
有時創建兩種類型的庫都是適當的。 – aschepler 2010-11-19 19:07:28
這取決於你想要的。 – 2010-11-19 19:08:36