最近深深感受到掌握一种新的知识时,写成博客很重要。第一可以加深印象,第二可以提高自己的编写能力,第三可以整理自己的思路,第四以后忘记时可以第一时间浏览自己的博客。这是小弟第一个博客,有什么不足的地方,欢迎指正。谢谢。
最近需要将网络通信接口封装成DLL的形式,又需要跨平台,选择的第三方库是:ACE。
ACE有自己的一套加载DLL方法,下面开始一一讲解。
分2点讲解ACE 中DLL的编写和调用。
第一点:普通接口函数。
eg:
/// test.h //
#include "ace/svc_export.h" // 用到ACE_Svc_Export时需要包含此头文件。
// 头文件中定义接口函数
extern "C" ACE_Svc_Export int func();
/ test.cpp ///
// cpp中实现此函数
int func()
{
return 123456;
}
注意点:
#if defined(_WIN32)
#ifdef DLL_PROJECT_EXPORTS
#define START_API __declspec(dllexport)
#else
#define START_API __declspec(dllim