ACE_Export

不得不佩服ACE的跨平台强大之处

如果你需要在Windows下创建dll项目供其他项目使用。

你创建dll项目的代码要导出才能被外部访问,这个是由于Windows的动态链接库默认访问级别为私有导致的,所以只有导出的接口才会被外部访问。

在你打算导出的时候只需要使用ACE自带的导出宏即可:

头文件应该像这个样子:

#ifndef CONFIGLOADER_H
#define CONFIGLOADER_H

#include "ace/Log_Msg.h"

class ACE_Export ConfigLoader
{
public:
	ConfigLoader(void);
	~ConfigLoader(void);
    void load_from_file(void);
    void load_from_db(void);
};

#endif

源文件正常,无需任何变动:

/************************************************************************/
/* 配置加载类                                                           */
/************************************************************************/
#include "ConfigLoader.h"

ConfigLoader::ConfigLoader(void)
{
}

ConfigLoader::~ConfigLoader(void)
{
}

void ConfigLoader::load_from_db(void)
{
    ACE_DEBUG((LM_DEBUG,"ConfigLoader::load_from_db(void) run"));
}

void ConfigLoader::load_from_file(void)
{
    ACE_DEBUG((LM_DEBUG,"ConfigLoader::load_from_file(void) run"));

}

即可编译生成dll,供其他项目使用,多棒!

具体操作参考:http://blog.csdn.net/calmreason/article/details/6989390中官方网站教程(主要是VC++工程的“项目引用”功能 )

时间: 2024-12-29 11:37:20

ACE_Export的相关文章