如果已经写好了一个C++的类,希望把它做成dll动态链接库,这里介绍一种简单的方法。
1、制作dll
利用VC6新建工程时选择win32 dynamic-Link Library,然后添加头文件和cpp文件。假设类名为exp,添加头文件exp.h,头文件中声明类的定义,添加exp.cpp,其中是成员函数的具体定义。与一般写类的定义不同,在exp.h中需要写成
利用VC6新建工程时选择win32 dynamic-Link Library,然后添加头文件和cpp文件。假设类名为exp,添加头文件exp.h,头文件中声明类的定义,添加exp.cpp,其中是成员函数的具体定义。与一般写类的定义不同,在exp.h中需要写成
class __declspec(dllexport) exp
{
...
}
{
...
}
从而说明以后从dll要被导出的类是哪一个。这样编译完就会产生exp.dll和exp.lib两个文件。
2、dll的调用
当已经生成dll后,可以在其它程序中调用dll中的类和成员函数。方法如下:
a)把exp.dll和exp.lib复制到调用程序的执行路径下,注意不是debug路径下。
b)在project->setting->link里添加exp.lib
c)把exp.h复制到调用程序的执行路径下,将__declspec(dllexport)改成__declspec(dllimport)
这样在主程序中就可以使用exp.h中声明的类和它的成员函数了
当已经生成dll后,可以在其它程序中调用dll中的类和成员函数。方法如下:
a)把exp.dll和exp.lib复制到调用程序的执行路径下,注意不是debug路径下。
b)在project->setting->link里添加exp.lib
c)把exp.h复制到调用程序的执行路径下,将__declspec(dllexport)改成__declspec(dllimport)
这样在主程序中就可以使用exp.h中声明的类和它的成员函数了
本文详细介绍如何将C++类封装为DLL,并在其他程序中调用这些类及成员函数。首先通过VC6创建动态链接库项目并添加类文件,然后修改类声明以支持导出。最后,在目标程序中引入DLL所需的文件并进行适当配置即可实现跨程序调用。
189

被折叠的 条评论
为什么被折叠?



