全球专业中文经管百科,由121,994位网友共同编写而成,共计435,826个条目

靜態鏈接

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

靜態鏈接(Statically Linked)

目錄

什麼是靜態鏈接[1]

  靜態鏈接是指在編寫應用程式時,如果需要調用運行函數庫中已有的函數,程式員無須在自己的源代碼中重寫函數庫中的函數,而只是給出函數名和所需要的參數,就可以執行相應的操作。

靜態鏈接的優缺點[2]

  靜態鏈接的優點是可以獨立運行,不需要額外動態庫的支持;缺點是生成的文件較大,一旦需要程式升級,則需要更新整個目標程式。

靜態鏈接庫和動態鏈接庫的區別[3]

  動態鏈接是相對於靜態鏈接來說的。在程式開發過程中,產生一個Windows可執行文件,需要鏈接不同的目標模塊(.obj)、庫文件(.1ib)以及編譯過的資源文件(.res),此時的鏈接稱為靜態鏈接,可見靜態鏈接發生在程式進行編譯/鏈接時,與之相對應,動態鏈接發生在程式運行時。

  動態鏈接庫和靜態鏈接庫的主要區別是與應用程式的鏈接方式不同,前者進行的是動態鏈接,後者進行的是靜態鏈接。編寫的應用程式中需要使用DLL,的應用程式,可以調用DLL中的導出函數,不過在應用程式本身的執行代碼中並不包含這些函數的執行代碼,它們經過編譯和鏈接之後,獨立的保存在DLL中。使用DLL的應用程式只包括了用於從DLL中定位所引用的函數的信息,而沒有函數具體實現,要等到程式運行時才從DLL中獲得函數的實現代碼。顯然,我們開發的使用了DLL的應用程式在運行時必須要有相應的DLL的支持。而使用靜態鏈接庫的應用程式從函數庫中得到所引用的函數的執行代碼,然後把執行代碼放進程式自身的執行文件中,這樣,應用程式在運行時就可以不再需要靜態函數庫的支持了。

參考文獻

  1. 劉彬彬,高春艷,孫秀梅等編著.第十七章 API函數 Visual Basic從入門到精通.清華大學出版社,2008.10.
  2. 閻映炳等編著.第五章 gcc編譯器 輕鬆學LINUX編程.化學工業出版社,2012.10.
  3. 馬石安,魏文平編著.第9章 動態鏈接庫編程 VISUAL C++程式設計與應用教程.清華大學出版社,2011.03.
本條目對我有幫助3
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您認為本條目還有待完善,需要補充新內容或修改錯誤內容,請編輯條目投訴舉報

本条目由以下用户参与贡献

方小莉,寒曦,刘维燎.

評論(共0條)

提示:評論內容為網友針對條目"靜態鏈接"展開的討論,與本站觀點立場無關。

發表評論請文明上網,理性發言並遵守有關規定。

打开APP

以上内容根据网友推荐自动排序生成

下载APP

闽公网安备 35020302032707号