首页 > 其他 > 详细

VS2019 静态/动态库导入导出代码片段【snippet】

时间:2020-02-14 19:33:22      阅读:225      评论:0      收藏:0      [点我收藏+]

VS不愧是宇宙最强大的IDE咯,定义snippet以后,妈妈再也不怕我敲代码敲坏键盘了就可以很方便的生成并转移一个,而不必修改头文件
不过这还需要在项目输出上做做修改,规则差不多是$name$ [d] [_x64] .lib|dll,比如mySock.libmySock.dll

静态库的导入导出

#ifndef _LIB    // 静态库宏
#ifdef _WIN64

#ifdef _DEBUG
#pragma comment(lib,"lib/MY_LIBd_x64.lib")
#else
#pragma comment(lib,"lib/MY_LIB_x64.lib")
#endif  // _DEBUG

#else

#ifdef _DEBUG
#pragma comment(lib,"lib/MY_LIBd.lib")
#else
#pragma comment(lib,"lib/MY_LIB.lib")
#endif  // _DEBUG

#endif  // _WIN64

#endif  // MY_LIB_EXPORTS

技术分享图片

技术分享图片

动态库的导入导出

#ifdef MY_DLL_EXPORTS   // DLL导出宏
#define MY_DLL_API __declspec(dllexport)    // 导出使用
#else
#define MY_DLL_API __declspec(dllimport)    // 导入使用
#ifdef _WIN64

#ifdef _DEBUG
#pragma comment(lib,"lib/MY_DLLd_x64.lib")
#else
#pragma comment(lib,"lib/MY_DLL_x64.lib")
#endif  // _DEBUG

#else

#ifdef _DEBUG
#pragma comment(lib,"lib/MY_DLLd.lib")
#else
#pragma comment(lib,"lib/MY_DLL.lib")
#endif  // _DEBUG

#endif  // _WIN64

#endif  // MY_DLL_EXPORTS

动态库的函数定义前加上MY_DLL_API就可以实现导出或导入

技术分享图片

技术分享图片

再进一步

以上的库要求$name$ [d] [_x64] .lib|dll的导出格式,而目前我还不清楚怎么可以通过宏指令形式修改目标文件名,只能手动修改,这是其中比较棘手的一个问题。

VS2019 静态/动态库导入导出代码片段【snippet】

原文:https://www.cnblogs.com/that-boy/p/12307790.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!