Dll 学习心得(1)

    今天从图书馆借到《Delphi2005从入门到精通》,准备长期携带和查阅。利用晚上时间看了一下该书对Dll的讲解,有些内容比较深,不太明白,有些地方还是看的懂的。比如Dll内存共享和包,可能是缺少例子吧,真正写一段代码用到这个技术可能就好点。

    Dll很早就有接触,也有过疑问,想知道他的作用是什么。但是对dll的认识只是停留在知道他是叫做动态链接库的东西,如何创建和使用的概念就比较模糊了。今天看了三个版本的dll介绍《Delphi2005从入门到精通》、《参透Delphi_Kylix》、《Delphi6开发人员指南》,终于对dll的认识有所突破。结合自身心得,谈几点学习的心得体会:

    1、使用dll的好处太多了,如使得程序代码模块化便于维护,可以共享代码、资源、数据,提供接口隐藏实现细节。

    2、dll的首选基址可以通过$IMAGEBASE来设定,个人感觉不比太操心这方面的东西,让系统自己管理就好。因为目前的水平暂时用不到多个进程共享一个dll,但也应该形成一种意识:如果想多个进程共享一个dll,则需要设置其首选基址。

    3、分清静态链接和动态链接,exe和dll的不同简单说就在这里。

    4、隐式调用(早绑定)和显示调用(晚绑定)两种方法个人感觉前者比较好用一些,因为不像后者还需对载入的库进行释放等维护。但具体程序也要根据需求来写。

    5、dll和面向对象,dll中多是封装一些函数和过程,很少封装一些类,因此个人感觉dll对面向对象编程的作用不是很大。

    6、《Delphi6开发人员指南》中讲到dll开发可分为dll实现和接口两部分(P182)这种开发的模式值得学习。以前一直认为开发出dll就可以了,如何使用是另一码事情,但这种dll实现与接口的模式改变了我的编程理念。

    今天先写这些吧,明天继续学习~~!

原文地址:https://www.cnblogs.com/delphi7456/p/1855221.html