首页 > 代码库 > ACE_Export

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++工程的“项目引用”功能 )

 

ACE_Export