带类的DLL怎样导出导入?
带类的DLL怎样导出导入??在线等
testDLLYsdyClass.h:
class _declspec (dllexport) cTestDLL
{
public:
cTestDLL();
void display(char * pName);
protected:
char name[5];
};
testDLLYsdyClass.cpp:
#include "stdafx.h "
#include "testDllYsdyClass.h "
void cTestDLL::display(char * pName)
{
strcpy(name,pName);
cout < < "name: " < < name;
}
不知道导出写对没有?编译通过了的,导入怎么写??
我已经把该DLL、LIB文件放到导入程序的相应目录下了
------解决方案--------------------
不要用带类的dll接口,水太深,在****上已经淹了很多人了。
------解决方案--------------------
带类的dll是没法动态加载的,必须静态加载
------解决方案--------------------
是那样做的,不过在很多时候会出问题的
------解决方案--------------------
还是静态加载吧
http://topic.****.net/t/20020225/16/541741.html
:)
------解决方案--------------------
1.
//adll.h
#ifndef ADLL_H_
#define ADLL_H_
#if defined(ADLL_EXPORTS)
#define ADLL_API __declspec(dllexport)
#else
#define ADLL_API __declspec(dllimport)
#endif
.........................
class ADLL_API MyClass
{
...............
};
.........
#endif
//adll.cpp
#include "adll.h "
.....................
MyClass::MyClass()
{
}
.............
2. 在你的adll工程属性中, 定义符号: ADLL_EXPORTS
3. 使用adll的工程: (不要定义符号ADLL_EXPORTS)
//usea.cpp
#include "adll.h " //包含dll的头文件
void UseMyClass()
{
MyClass me;
...............
}
testDLLYsdyClass.h:
class _declspec (dllexport) cTestDLL
{
public:
cTestDLL();
void display(char * pName);
protected:
char name[5];
};
testDLLYsdyClass.cpp:
#include "stdafx.h "
#include "testDllYsdyClass.h "
void cTestDLL::display(char * pName)
{
strcpy(name,pName);
cout < < "name: " < < name;
}
不知道导出写对没有?编译通过了的,导入怎么写??
我已经把该DLL、LIB文件放到导入程序的相应目录下了
------解决方案--------------------
不要用带类的dll接口,水太深,在****上已经淹了很多人了。
------解决方案--------------------
带类的dll是没法动态加载的,必须静态加载
------解决方案--------------------
是那样做的,不过在很多时候会出问题的
------解决方案--------------------
还是静态加载吧
http://topic.****.net/t/20020225/16/541741.html
:)
------解决方案--------------------
1.
//adll.h
#ifndef ADLL_H_
#define ADLL_H_
#if defined(ADLL_EXPORTS)
#define ADLL_API __declspec(dllexport)
#else
#define ADLL_API __declspec(dllimport)
#endif
.........................
class ADLL_API MyClass
{
...............
};
.........
#endif
//adll.cpp
#include "adll.h "
.....................
MyClass::MyClass()
{
}
.............
2. 在你的adll工程属性中, 定义符号: ADLL_EXPORTS
3. 使用adll的工程: (不要定义符号ADLL_EXPORTS)
//usea.cpp
#include "adll.h " //包含dll的头文件
void UseMyClass()
{
MyClass me;
...............
}