本人经过两天的研究,终于掌握了动态链接库的使用方法,动态链接库的使用上并不难,难在动态链接库中的导出类,
把dll中类的成员函数导出来才是最重要的,我就用几个例子介绍一下几种导出的方法:
第一种:
这种方法不是很好,实现的也比较麻烦,可以参考
例子中的1_DLLDemoCll工程
原理:利用虚函数导出,导出的dll中申请的对象指针,再利用虚函数的特性,利用虚函数表实现了类函数的导出,比较麻烦
建议了解一下。
第二种:
这种方法实现起来比较简单,采用的是静态加载的方式,但是有很多的局限性,因为当dll有错是整个应用都会出问题,不建
议在打的工程中使用。
具体代码实现见static_link_DLL工程,其中dll文件由Abstrct文件编译。
第三种:
这种方法是我推荐的,它是由动态加载进来的,其中实现原理是:运用抽象类,为工程创建接口,通过接口来导出类成员函数
这种方式通用性强,而且代码比较的健壮,节省内存。见工程useDLL。
1