VC++和C++builder互相调用动态链接库DLL(VC++编的)笔记

关于动态链接库的具体介绍参考本人转载博客:进程间通信详解 - 动态链接库实现

下文说说自己编写的动态链接库,主要作用是实现用VC++编写的A程序和用C++builder编写的B程序之间的通信,其中涉及结构体,所以需要注意一下,

1>动态链接库myDLL

       新建一个dll工程(MFC AppWizard(dll)),并命名myDLL,这个工程中有三种形式:

               1.动态链接库和MFC静态链接
         2.动态链接库使用共享MFC DLL
                3.MFC扩展DLL(使用共享 MFC DLL)
       这三者的区别解释如下:静态dll中编译时嵌入了mfc的类文件,所以客户机上即使没有mfc的库文件也能运行你的dll,动态的dll运行时会调用系统的mfc库,所以客户机要想运行你的dll必须系统中必须有mfc库文件。常规mfc dll(前两种)不能导出类,只能导出函数,扩展的mfc dll则可以导出类。

         我在此选用了第二种,建完工程后,在myDLL.h中添加内容

// myDLL.h : main header file for the MYDLL DLL
//

#if !defined(AFX_MYDLL_H__C094CB0F_D564_446A_BEB7_FA2E437933BB__INCLUDED_)
#define AFX_MYDLL_H__C094CB0F_D564_446A_BEB7_FA2E437933BB__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#ifndef __AFXWIN_H__
 #error include 'stdafx.h' before including this file for PCH
#endif

#include "resource.h"  // main symbols

/
// CMyDLLApp
// See myDLL.cpp for the implementation of this class
//

 

//添加内容
#ifdef DLL_API
#else    
#define DLL_API extern "C" _declspec(dllexport)     注意1
#endif

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值