当前位置: 首页 > news >正文

接口库设计总结

1. WIN32 接口库C定义规范示例

 1 #ifdef BADATASYNCDSK_EXPORTS
 2 #define BADS_API(type)  extern "C" __declspec(dllexport) type
 3 #elif defined( BADATASYNCDSK_LIB )
 4 #define BADS_API(type)  type
 5 #else
 6 #define BADS_API(type)  extern "C" __declspec(dllimport) type
 7 #endif
 8 
 9 /**
10  * \brief 初始化数据同步模块并连接设备
11  * \return 0    - 操作失败 <br>
12  *         非0  - 操作成功
13  */
14 BADS_API(int)  BADS_Init( void );

采用 BADS_API(int)该类方式定义接口,可方便将接口定义为 lib 和 dll工程

  1. 将源码编译为DLL接口库时,只需在工程中定义宏 BADATASYNCDSK_EXPORTS,导入使用时,无需定义任何宏
  2. 将源码编译为 LIB接口库时,只需在工程中定义宏 BADATASYNCDSK_LIB, 导入使用时,需在导入工程中定义宏 BADATASYNCDSK

 

转载于:https://www.cnblogs.com/shanwenbin/archive/2012/11/09/2762614.html

相关文章:

  • 庆祝一下开通了第一条博客!
  • 微软私有云
  • fileUpload(草稿)
  • .NET多线程执行函数
  • jdk1.5新特性2之动态参数列表
  • 进阶第二十一课 Python多线程
  • 【ASP】简单Url编码和Url解码实例
  • Flannel网络组件部署
  • EXCEL应用技巧:如何在每行下插入一个空行
  • docker 关闭镜像后,容器无法启动---Conflict. The container nam
  • 【翻译】Nova国际化
  • stm 常用头文件
  • mysql中去重复记录
  • 开源母语编程 说明 (持续更新)
  • 你不懂js系列学习笔记-作用域和闭包- 03
  • ----------
  • 「面试题」如何实现一个圣杯布局?
  • canvas 绘制双线技巧
  • CSS实用技巧干货
  • ERLANG 网工修炼笔记 ---- UDP
  • FineReport中如何实现自动滚屏效果
  • JavaScript标准库系列——Math对象和Date对象(二)
  • REST架构的思考
  • Swift 中的尾递归和蹦床
  • Vue 重置组件到初始状态
  • 复杂数据处理
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 判断客户端类型,Android,iOS,PC
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #### go map 底层结构 ####
  • ###C语言程序设计-----C语言学习(3)#
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • $.proxy和$.extend
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (python)数据结构---字典
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (黑马C++)L06 重载与继承
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (转)fock函数详解
  • ***详解账号泄露:全球约1亿用户已泄露
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .mysql secret在哪_MYSQL基本操作(上)
  • .Net 6.0 处理跨域的方式
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .Net的C#语言取月份数值对应的MonthName值
  • /etc/sudoers (root权限管理)
  • [1]-基于图搜索的路径规划基础
  • [20161101]rman备份与数据文件变化7.txt
  • [C#]OpenCvSharp结合yolov8-face实现L2CS-Net眼睛注视方向估计或者人脸朝向估计