麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Delphi > 正文

Delphi中動態(tài)鏈接庫(DLL)的建立和使用

2019-11-18 18:26:30
字體:
來源:轉載
供稿:網友
動態(tài)鏈接庫是一個能夠被應用程序和其它的DLL調用的過程和函數的集合體,它里面包含的是公共代碼或資源。由于DLL代碼使用了內存共享技術,在某些地方windows也給了DLL一些更高的權限,因而DLL中可以實現一些一般程序所不能實現的功能,如實現windows的HOOK、ISAPI等。同時,DLL還為不同語言間代碼共享提供了一條方便的途徑。因而DLL在編程時應用較為廣泛,本文將介紹如何在 Delphi 中建立和使用DLL。
一.DLL 庫內存共享機制
從使用效果看,DLL和unit 很像,它們都可以被別的工程模塊所調用,但二者在內部的實現機制上確存在著差別。如果一個程序模塊中用uses語句引用了某個unit,編譯程序在編譯該模塊時,便會連同unit一起編譯,并把編譯后的可執(zhí)行代碼鏈接到本程序模塊中,這就是一個程序模塊能夠調用所引用unit中過程和函數的原因。當同一個unit被多個工程所引用時,則每個工程中都含有該unit的可執(zhí)行代碼,當含有該unit的多個工程同時執(zhí)行時,unit的可執(zhí)行代碼會隨不同工程而多次被調入內存,造成內存資源的浪費。DLL則不同,它即使被某個工程調用,編譯后仍是獨立的,也就是說編譯后,一個DLL庫形成一個單獨的可執(zhí)行文件,而不與任何其它的可執(zhí)行文件連接在一起,因而DLL庫并不從屬于某個特定的工程,當多個工程調用同一個DLL庫時只有第一個工程把DLL庫調入內存,其余工程并不重復調入同一個DLL庫到內存,而是到同一個共享內存區(qū)讀取。并且,DLL的執(zhí)行代碼是在程序運行期間動態(tài)調入的,而不是如unit在程序運行時就與整個工程一起調入內存。這樣便可消除unit帶來的相同代碼多處占用內存的弊病。
二 Delphi中DLL庫的建立
 在Delphi環(huán)境中,編寫一個DLL同編寫一個一般的應用程序并沒有太大的區(qū)別。事實上作為DLL主體的DLL函數的編寫,除了在內存、資源的管理上有所不同外,并不需要其它特別的手段。
    一般工程文件的格式為:
  end;
FreeLibrary(Handle);
end;
end;
在調用動態(tài)鏈接庫時應注意, 所需動態(tài)鏈接庫須與應用程序在同一目錄或Windows System 目錄下。
動態(tài)鏈接庫是 Windows下程序組織的一種重要方式,使用動態(tài)鏈接庫可以極大地保護用戶在不同開發(fā)工具、不同時期所做的工作,提高編程效率。

上一篇:綁架窗體之Delphi版

下一篇:Delphi與Word之間的融合技術

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 国产69精品久久久久久野外 | 九九热精品在线播放 | 国产精品久久久久网站 | 国产chinesehd精品91 | 中文字幕国 | 欧美国产精品一区二区 | 国产精品久久久久久久久岛 | 小视频在线看 | 国产亚洲精品久久久久久网站 | 欧美激情图区 | 草人人| 激情福利视频 | 中文字幕在线观看精品 | 久久综合九色综合久久久精品综合 | 美女被免费网站在线软件 | 黄色免费高清网站 | 综合在线一区 | 2021免费日韩视频网 | 极品销魂一区二区三区 | 91精品中文字幕 | 国产精品久久久久久久午夜片 | 国产日本欧美在线观看 | 国产乱子视频 | 色播视频在线播放 | 国产噜噜噜噜噜久久久久久久久 | 港台三级在线观看 | 国av在线 | 欧美黄色三级视频 | 久久不雅视频 | 91超在线| 羞羞色在线观看 | 免费黄色大片在线观看 | 性欧美xxxx极品摘花 | 久久福利电影网 | 国产二区三区在线播放 | 亚洲国产精品一区二区三区 | 成人激情视频网 | 中文字幕免费在线观看视频 | 日韩大片在线永久观看视频网站免费 | 久久影院在线观看 | 91久久久久久亚洲精品禁果 |