c/c++动态库(DLL)调用,c#等其他语言调用c/c++的DLL

总结点

c++动态库调用另一个动态库
c++动态库调用c动态库
c#等其他语言调用c/c++动态库

IDE

vs2010及以上

c++动态库调用另一个动态库

a动态库调用另一个动态库b,主要由2种方式,

在头文件中声明

__declspec(dllexport)
def文件

利用.def文件新建此DLL(模块)的导出接口,例如:
EXPORTS必须为大写

LIBRARY 
EXPORTS
   add @1
   mul @2

关于.def的详细说明,请参考msdn文档;
https://msdn.microsoft.com/zh-cn/library/hyx1zcd3(v=vs.80).aspx

两种方式比较

关于两者的优点和缺点,请参考文章:

http://www.cnblogs.com/TianFang/archive/2013/05/04/3059073.html

总的来说,def优点大于每个接口前声明__declspec(export) 这种方法。

例子

DLL a 的结构如下所示:

这里写图片描述

DLL b 的结构如下所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值