俄罗斯门户网站有哪些网站建设的说明
C++学习系列之DLL动态库使用
- 啰嗦
 - 动态库的创建
 - 动态库的调用函数生成
 - 1.需要头文件函数定义(头文件)
 - 2.需要函数定义(函数文件)
 - 3.动态库中的头文件
 - 4.动态库中的主文件
 - 5.运行查看是否存在C#的调用的入口点
 - 6.C#调用
 
- 总结
 
啰嗦
项目需要+自我学习和摸索。
动态库的创建
后续添加学习过程,先放如何产生使用函数。
动态库的调用函数生成
1.需要头文件函数定义(头文件)
class xx{
public:double addd(double x, double y);
}
 
2.需要函数定义(函数文件)
double xx::addd(double x, double y)
{return x + y;
}
 
3.动态库中的头文件
#ifdef IMPORT_DLL
#else
#define IMPORT_DLL extern "C" _declspec(dllexport)
#endif // IMPORT_DLL
IMPORT_DLL double addd(double x, double y);
 
4.动态库中的主文件
double addd(double x, double y)
{return x + y;
}
 
5.运行查看是否存在C#的调用的入口点
找到dumpbin.exe,运用CMD运行。在dumpbin.exe的相关路径下,使用下面语句打开对应的dll。
dumpbin -exports (dll的路径)
 

6.C#调用
public class test{[DllImport("DLL1.dll", CallingConvention = CallingConvention.Cdecl)]public static extern double addd(double x, double y);}
 
double y=test.addd(1,2);
 

总结
小Demo尝试,在做深度学习。
