学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

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

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

[求助]【急】关于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;
}

TOP

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

TOP

发新话题