靜態庫和動態庫執行時間的區別

2021-09-05 10:47:32 字數 875 閱讀 1916

關於靜態庫和動態庫的區別網上已經寫了很多了,我就不再贅述,大家可以自行搜尋。

這裡我主要介紹靜態庫和動態庫在執行時間上的區別。

我看書上寫的是靜態庫比動態庫在執行速度上快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執行時...