關於靜態庫和動態庫的區別網上已經寫了很多了,我就不再贅述,大家可以自行搜尋。
這裡我主要介紹靜態庫和動態庫在執行時間上的區別。
我看書上寫的是靜態庫比動態庫在執行速度上快1%~5%。
然後我寫了一段程式test.c
#include
void writefile(void)
}(簡單介紹就不寫.h檔案了,如果大家習慣.h書寫規則,就自己寫乙個吧。)
然後分別編譯成靜態庫和動態庫,編譯過程網上都有
再寫乙個main.c
#include
#include
extern void writefile(void) //宣告writefile函式
int main()
最後執行編譯主程式分別呼叫靜態庫和動態庫,生成teststa 和 testdyn 的可執行檔案。
△記住:main中不要去#include"test.c"或者#include"test.h"否則我們最後載入的都是靜態庫,不會載入到動態庫。
如果我們最後要去看下有沒有載入到動態庫,可以使用gdb除錯。
執行後發現,在差異的時間在linux系統執行程式時間的波動上,基本沒什麼區別,這也難怪網上基本沒有寫動態庫和靜態庫在執行時間上的區別。
[root@localhost test1]# ./teststa
8.330000s
[root@localhost test1]# ./testdyn
8.490000s
[root@localhost test1]# ./teststa
8.510000s
[root@localhost test1]# ./testdyn
8.480000s
VC執行時庫
vc專案屬性 配置屬性 c c 生成 執行時庫 可以採用的方式有 多執行緒 mt 多執行緒除錯 mtd 多執行緒dll md 多執行緒除錯dll mdd 單執行緒 ml 單執行緒除錯 mld reusable library switch library macro s defined single...
C執行時庫
1.概論 執行時庫是 程式在執行時所需要的庫檔案,通常執行時庫是以 lib或 dll形式提供的。c執行時庫誕生於 20世紀 70年代,當時的程式世界還很單純,應用程式都是單執行緒的,多工或多執行緒機制在此時還屬於新觀念。所以這個 j時期的 c執行時庫都是單執行緒的。隨著 作業系統 多執行緒技術的發展...
C執行時庫
visual studio文件的新主頁是docs.microsoft.com上的visual studio 2017文件。可以在crt library features中找到該主題的最新版本。本主題討論構成c執行時庫的各種.lib檔案及其關聯的編譯器選項和預處理程式指令。c執行時庫 crt c執行時...