程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 動態庫與靜態庫,動態庫靜態庫

動態庫與靜態庫,動態庫靜態庫

編輯:關於C語言

動態庫與靜態庫,動態庫靜態庫


  在編寫程序的時候,經常會遇到好多重復或常用的部分,為了使用和維護方便,將這些部分封裝成函數庫。函數庫可分為靜態庫和動態庫

靜態庫

  編寫比較簡單,和普通源文件編寫一樣,項目屬性中的配置類型設置為靜態庫即可,但要把庫保存到調用文件的目錄下,且每次修改庫文件都要再生成並保存到調用文件目錄下。

  1、項目設置:將項目設置為靜態庫類型

選擇項目屬性

設置項目配置類型為靜態庫

  2、代碼編寫:編寫庫文件代碼,和源文件編寫一樣

庫文件源碼

  3、生成庫文件:將源文件生成為庫文件(*.lib),生成的庫文件可在解決方案文件夾中的Debug文件夾中看到

生成庫文件

打開“解決方案”文件夾中(是“解決方案”文件夾,不是項目文件夾)

在資源管理器中查看生成的靜態庫文件

  4、導入並使用庫文件:

  將靜態庫文件復制到調用的項目文件夾下

引入靜態庫文件,並調用文件中的方法

  5、運行測試

調用成功

PS:要按照順序,修改了庫源碼,要重復2~4步

 

動態庫

  源碼編寫和調用相對復雜,在函數定義前要加上"_declspec(dllexport)",項目屬性中的配置類型設置為動態庫,不必把庫保存到調用文件的目錄下,則每次修改庫文件也不需要保存到調用文件目錄下。 

  1、項目設置:將項目設置為動態庫類型

選擇項目屬性

設置項目配置類型為動態庫

  2、代碼編寫:編寫庫文件代碼,和源文件編寫一樣,但函數定義前要添加"_declspec(dllexport)"

庫文件源碼

  3、生成庫文件:將源文件生成為庫文件(*.dll),生成的庫文件可在解決方案文件夾中的Debug文件夾中看到

生成庫文件

打開“解決方案”文件夾中(是“解決方案”文件夾,不是項目文件夾)

在資源管理器中查看生成的靜態庫文件

  4、導入並使用庫文件:

引入動態庫態庫文件,並調用文件中的方法

  5、運行測試:

調用成功

 

  由此可見,動態庫適合共享,多個項目可共享一個動態庫,減小程序體積。而靜態庫適合私有,項目間不共享靜態庫

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved