<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 64,  comments - 9,  trackbacks - 0

    http://blog.csdn.net/sendy888/archive/2007/07/25/1707175.aspx
    動態鏈接庫簡介

    自從微軟推出16位的Windows操作系統起,此后每種版本的Windows操作系統都非常依賴于動態鏈接庫(DLL)中的函數和數據,實際上Windows操作系統中幾乎所有的內容都由DLL以一種或另外一種形式代表著,例如顯示的字體和圖標存儲在GDI DLL中、顯示Windows桌面和處理用戶的輸入所需要的代碼被存儲在一個User DLL中、Windows編程所需要的大量的API函數也被包含在Kernel DLL中。
    DLL是建立在客戶/服務器通信的概念上,包含若干函數、類或資源的庫文件,函數和數據被存儲在一個DLL(服務器)上并由一個或多個客戶導出而使用,這些客戶可以是應用程序或者是其它的DLL。

    使用動態鏈接庫的優點:
         最主要的一點是多個應用程序、甚至是不同語言編寫的應用程序可以共享一個DLL文件,真正實現了資源"共享",大大縮小了應用程序的執行代碼,更加有效的利用了內存;
         使用DLL的另一個優點是DLL文件作為一個單獨的程序模塊,封裝性、獨立性好,在軟件需要升級的時候開發人員只需要修改相應的DLL文件就可以了,而且,當DLL中的函數改變后,只要不是參數的改變,程序代碼并不需要重新編譯。這在編程時十分有用,大大提高了軟件開發和維護的效率。

    靜態庫:
    函數和數據被編譯進一個二進制文件(通常擴展名為LIB),在使用靜態庫的情況下,在編譯鏈接可執行文件時,鏈接器從庫中復制這些函數和數據并把他們和應用程序的其他模塊組合起來創建最終的可執行文件(EXE文件)。這個過程稱為"靜態鏈接",此時因為應用程序所需的全部內容都是從庫中復制了出來,所以靜態庫本身并不需要與可執行文件一起發行。

    動態庫:
    在使用動態庫的時候,往往提供兩個文件,一個引入庫和一個DLL,引入庫包含被DLL導出的函數和變量的符號名,DLL包含實際的函數和數據,在編譯鏈接可執行文件時,只需要鏈接引入庫,DLL中的函數代碼和數據并不復制到可執行文件中,在運行的時候再去加載DLL,訪問DLL中導出的函數

    動態鏈接庫加載的2種方式
    1.隱式鏈接:隱式鏈接就是在程序開始執行時就將DLL文件加載到應用程序當中。實現隱式鏈接很容易,只要將導入函數關鍵字_declspec(dllimport)函數名等寫到應用程序相應的頭文件中就可以了。
    注意:要先將Dll.dll和Dll.lib拷貝到當前工程所在的目錄下面,

    2.顯式鏈接:顯式鏈接是應用程序在執行過程中隨時可以加載DLL文件,也可以隨時卸載DLL文件,這是隱式鏈接所無法作到的,所以顯式鏈接具有更好的靈活性,對于解釋性語言更為合適。
    首先要將DLL文件拷貝到工程所在的目錄或Windows系統目錄下。使用顯式鏈接應用程序編譯時不需要使用相應的Lib文件。
    主要是三個函數的調用
    LoadLibrary//加載動態鏈接庫文件;
    GetProcAddress//獲取導入到應用程序中的函數指針
    FreeLibrary(hDLL)//卸載動態鏈接庫文件

     

    本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/sendy888/archive/2007/07/25/1707175.aspx

    posted on 2010-06-03 17:23 super_nini 閱讀(330) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2010年6月>
    303112345
    6789101112
    13141516171819
    20212223242526
    27282930123
    45678910

    常用鏈接

    留言簿

    隨筆檔案

    文章檔案

    相冊

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 在线观看亚洲免费| 亚洲免费在线视频播放| 337p日本欧洲亚洲大胆人人| 国产一精品一AV一免费孕妇| 亚洲AV无码专区在线亚| 无码国产精品一区二区免费式影视 | 国产亚洲?V无码?V男人的天堂| 美女免费视频一区二区| 无码专区一va亚洲v专区在线 | 亚洲一区二区三区AV无码| 久久免费视频一区| 国产成人综合亚洲AV第一页| 日本高清不卡aⅴ免费网站| 亚洲欧洲精品无码AV| 久久这里只精品国产免费10| 亚洲91av视频| 曰批全过程免费视频在线观看| 亚洲高清一区二区三区| 国产精品四虎在线观看免费| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 婷婷亚洲综合五月天小说| 亚洲精品在线免费观看视频| 亚洲午夜一区二区电影院| 久久久久国色AV免费看图片| 精品亚洲国产成人av| 亚洲无人区一区二区三区| 久久99免费视频| 2020天堂在线亚洲精品专区| 高清在线亚洲精品国产二区| 99麻豆久久久国产精品免费 | 亚洲男人天堂2018av| yy6080亚洲一级理论| 国内少妇偷人精品视频免费| 亚洲人成7777影视在线观看| 国产美女无遮挡免费网站| 中文字幕久无码免费久久| 亚洲大香伊人蕉在人依线| 免费看国产一级特黄aa大片| 国产精品免费AV片在线观看| 亚洲最大天堂无码精品区| 亚洲日韩欧洲无码av夜夜摸|