总结点
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 的结构如下所示: