2个回答
展开全部
如果已经写好了一个C++的类,希望把它做成dll动态链接库,这里介绍一种简单的方法。
1、制作dll
利用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中声明的类和它的成员函数了
再把工程转化为vs2005就可以了
1、制作dll
利用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中声明的类和它的成员函数了
再把工程转化为vs2005就可以了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询