linux - c/c++的标准库在连接的时候是静态连接还是动态连接?
ringa_lee
ringa_lee 2017-04-17 13:56:25
0
5
663
ringa_lee
ringa_lee

ringa_lee

全部回覆(5)
Peter_Zhu

先說明,不管模板內部的實現調用了什麼依賴庫,模板生成的代碼本身是靜態鏈接的,因為模板的目標代碼都是當時編譯器即時生成的,所以前兩個文件都是靜態鏈接的,依賴的東西可能存在於libstdc++(libc++或者其它)當中,這一部分是動態連結的
第三個檔案大部分東西都是C裡面的標準IO之類的東西,這些東西存在於libc當中,
即是動態連結了。 。

小葫芦

iostream和string都是模板的,所以其實沒有靜態和動態的差別。如果你用了cout、fopen等這樣的符號,那麼你就會需要靜態來件,或者讓對方安裝Visual C++ 2015 Redistribution

伊谢尔伦

前兩個是靜態鏈接,第三個是動態鏈接。

左手右手慢动作

優先動態鏈接,在linux下你可以ldd查看下依賴哪些動態庫,如果有動態庫的話說明沒有把靜態庫鏈接進去

大家讲道理

可靜態可動態。你可以檢查一下專案的編譯和連結設定。例如,你可以在VC++中選擇「多執行緒靜態函式庫」或「多執行緒DLL」。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!