【】请教在VC里,怎么导出DLL里的类及其函数?调用程序应该怎么写?谢谢
【求助】请问在VC里,如何导出DLL里的类及其函数?调用程序应该如何写?多谢
在DLL里,除了在头文件里把要导出的类声明成:
class _declspec(dllexport) myClass
{
//成员函数
}
外,还需要如何写?
多谢
------解决方案--------------------
要使用正确的导出类的修饰,对于dll本身来讲,修饰应该是__declspec(dllexport),而对于调用者来讲,应该是__declspec(dllimport)。而为了正确的编译修饰,可以声明如下:
#ifdef MY_DLL_EXPORT
#define _DLL_EXPORT_ __declspec(dllexport)
#else
#define _DLL_EXPORT_ __declspec(dllimport)
#endif
将MY_DLL_EXPORT加到dll 工程的预编译定义中。
现在你可以使用_DLL_EXPORT_宏来修饰你任何想导出的类或函数了。
------解决方案--------------------
DLL里的类 ,还要将导出类的头文件添加到工程中,否则无法编译。
如果导出类可以可以完成一个独立的功能而且调用调用者不需要频繁的调用
dll到处的类的话,就可以引出一个两个函数就可以了。
其实导出类只是代码级的分装,可以减少编译的时间
------解决方案--------------------
class _declspec(dllexport) myClass
{
//成员函数
}
就这样写啊。编译成dll后会有一个lib文件和dll文件
包含头文件的时候改成
class _declspec(dllimport) myClass
然后倒入lib库就可以了。
------解决方案--------------------
你用DEBUG调试就会有LIB文件了
在DLL里,除了在头文件里把要导出的类声明成:
class _declspec(dllexport) myClass
{
//成员函数
}
外,还需要如何写?
多谢
------解决方案--------------------
要使用正确的导出类的修饰,对于dll本身来讲,修饰应该是__declspec(dllexport),而对于调用者来讲,应该是__declspec(dllimport)。而为了正确的编译修饰,可以声明如下:
#ifdef MY_DLL_EXPORT
#define _DLL_EXPORT_ __declspec(dllexport)
#else
#define _DLL_EXPORT_ __declspec(dllimport)
#endif
将MY_DLL_EXPORT加到dll 工程的预编译定义中。
现在你可以使用_DLL_EXPORT_宏来修饰你任何想导出的类或函数了。
------解决方案--------------------
DLL里的类 ,还要将导出类的头文件添加到工程中,否则无法编译。
如果导出类可以可以完成一个独立的功能而且调用调用者不需要频繁的调用
dll到处的类的话,就可以引出一个两个函数就可以了。
其实导出类只是代码级的分装,可以减少编译的时间
------解决方案--------------------
class _declspec(dllexport) myClass
{
//成员函数
}
就这样写啊。编译成dll后会有一个lib文件和dll文件
包含头文件的时候改成
class _declspec(dllimport) myClass
然后倒入lib库就可以了。
------解决方案--------------------
你用DEBUG调试就会有LIB文件了