注册 登录
编程论坛 VC.NET论坛

[求助]关于DLL的问题,请大家指导

bigwang 发布于 2006-10-04 23:31, 1849 次点击

[求助]【急】关于DLL的问题,请大家帮忙

现在给出了.H的头文件,要求根据头文件定义DLL,并且要求从DLL中导出C++类。

头文件的.H其中部分内容
#ifdef DLL1_API
#else
#define DLL1_API _declspec(dllimport)
#endif

class DLL1_API CMyApi
{
public:
///创建MyApi
///@param Path 信息文件的目录,默认为当前目录
///@return 创建出的MyApi
static CMyApi *CreateMyApi(const char *Path = "");


///删除接口对象本身
virtual void Release() = 0;

///初始化
virtual void Init() = 0;

///以下函数省略
...................................

protected:
~CMyApi(){};
}


请问,如何在.cpp文件中实现CMyApi这个类中的成员函数,比如上面说明的这三个函数,尤其是CreateMyApi方法(产生一个

CMyApi的一个实例,不能通过new来产生)。

在应用中,调用方法已经固定,采用以下方法调用....

int main()
{

// 产生一个CMyApi实例,不能通过new来产生
CMyApi *pUserApi = CMyApi::CreateMyApi();

// 使客户端开始与后台服务建立连接
pUserApi->Init();

//中间省略
..........

// 释放API实例
pUserApi->Release();

return 0;
}

1 回复
#2
kingdom711212006-11-02 14:27
我也是个新手,不过刚读完DLL的部分内容,答案可能不对,请高手指点
若要到处类需要将你类的头文件里申明类的内容加一个宏
例如 class Cframe
需要改为 class AFX_EXT_CLASS Cframe
修改以后就可以导出该类
1