自定义dll文件的使用方法

本文详细介绍了如何创建和使用自定义DLL文件,包括导出类、使用_declspec(_dllexport)和_declspec(_dllimport)进行声明,以及在DLL工程和测试工程中的配置步骤。此外,还讲解了MFC扩展DLL、显示连接和隐式连接DLL的区别,以及动态加载DLL的示例。最后,提到了动态加载DLL时可能出现的调用约定不匹配问题及其解决方法。
摘要由CSDN通过智能技术生成

    关于导出类  
   
  要输出整个的类,对类使用_declspec(_dllexpot);要输出类的成员函数,则对该函数使用_declspec(_dllexport)。如:  
   
  class   AFX_EXT_CLASS   CTextDoc   :   public   CDocument  
  {  
  …  
  }  
   
  extern   "C"   AFX_EXT_API   void   WINAPI   InitMYDLL();   
    
  新建两个工程,其中一个是dll工程(我的示例程序中这个工程名为DllClass),另一个是测试和使用dll的工程(名字为DllClassTest)   
    
  注意点:  
        1.   Dll工程编译完成后,将.lib和.dll文件拷贝到测试和使用dll的工程的适当目录下(我的程序是release目录),然后将Dll工程中的导出类的头文件(以下简称头文件)拷贝到测试和使用dll的工程的适当目录下(在我的程序中是拷贝到此工程文件所在目录),然后把这个拷贝过来的头文件通过下面2和3进行修改。  
   
  2.   在Dll工程中的头文件使用的是   #define   DLLCLASS_API   __declspec(dllexport)   表示导出  
  在测试和使用dll的工程中的头文件使用的是   #define   DLLCLASS_API   __declspec(dllimport)   表示导入  
   
  3.   不论Dll工程的头文件如何实现(比如说包括内联函数等等),在测试和使用dll的工程中的头文件中全部都是声明而没有定义(即将类成员函数的实现部分去掉)  
   
  4。在测试和使用dll的工程的那个文件中包含对dll库的引入,分两步:  
   
  首先在是测试和使用dll的工程的setting菜单(按ALT+F7可以调出)中的LINK选项卡中的Object/Librarymodules:下填写对   dll   的连接,比如dll文件名字为DllClass.lib和DllClass.dll,则填写   ../Release/DllClass.lib(注意目录,我的程序中.lib文件是在目录release下)。  
  然后,添加对头文件的包含,比如dll文件名字为DllClass.lib和DllClass.dll,头文件为DllClass.h,则包含头文件为   #include   "DllClass.h"  
    
  由此,就可以使用了。  
   
  相关源码如下:  
   
  dll工程中的DllClass.h   内容:  
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值