zoukankan      html  css  js  c++  java
  • VS2019 静态/动态库导入导出代码片段【snippet】

    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
    

    LIBEXPORT

    LIB

    动态库的导入导出

    #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就可以实现导出或导入

    DLLEXPORT

    DLL

    再进一步

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

  • 相关阅读:
    css 笔记
    解决谷歌浏览器中的input背景色默认是黄色
    lunbo
    操作json进行分组再组
    点击返回顶部
    关于有的手机浏览器下载APK时会成TXT
    火狐浏览器jsonshow插件
    微信web开发者工具
    浏览器UA
    click多次注册事件会导致一个事件被触发多次的解决方法
  • 原文地址:https://www.cnblogs.com/that-boy/p/12307790.html
Copyright © 2011-2022 走看看