您的位置:首页 > 其它

declspec(dllexport)和declspec(dllexport)的实际应用

2015-11-26 14:59 495 查看
场景
当一个类在头文件被declspec(dllexport)定义的时候,说明该类将被导出,当提供给用户调用的时候,该头文件中可以保留declspec(dllexport)这个关键字,程序能够正常运行,但是明显不符合语法规范,如果是手动修改,每重新编译一次,都必须手动修改该头文件。

解决
创建一个头文件dlldefine.h,里面的内容如下:
#ifdef SEARCH_EXPORTS
#define SEARCH_CLASS __declspec(dllexport)
#define SEARCH_API extern "C" __declspec(dllexport)
#else
#define SEARCH_CLASS __declspec(dllimport)
#define SEARCH_API extern "C" __declspec(dllimport)

使用
创建的动态库,需要导出的类包含该头文件,使用SEARCH_CLASS取代导出的关键字,在预定义处理
器中添加SEARCH_EXPORTS,调用该动态库的只需要包含该头文件,因为在编译的时候没有定义SEARCH_EXPORTS,所以就实现了
导入的功能
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  declspec(dllexport)