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

DDS技术分享(二)---IDL

1.IDL是什么
IDL(Interface Definition Language,接口定义语言)用于定义软件组件间的接口。为什么会用这个东西?因为在项目开发过程中,最麻烦改动量最大的文件就是接口文件。
你要找各个项目的人员对接需求,找各个模块的人确认需求然后形成文档。好不容易收集完成以后实现又是一个大问题,因为这个涉及到接口的定义和软件代码的实现。
如果换了项目呢?怎么办?恐怕需要大量的修改代码,本来稳定的软件又是一塌糊涂。
因此IDL成为解决这些复杂系统的标准化和跨平台协作的工具。
2.IDL文件结构定义
IDL有自己的语法规范:
(1)文件头部声明:syntax 语法版本 package 包名 import 导入等语法
(2)数据类型定义:
基础类型:int32、string、bool 等
复合类型:struct、message等。
枚举:enum
举例:
struct Hello
{
unsigned long index;
string message;
};
enum Status
{
UNKNOWN = 0;
ACTIVE = 1;
INACTIVE = 2;
}
这些直接在.idl中添加即可完成。
3.生成中间代码
idl文件根据语法写完以后需要生成对应的接口。
虽然idl文件接口设置的不多,但是生成的接口文件是不会少的,需要生成全部的接口文件是一个很复杂的过程,当然会有一定的规则,可以利用python脚本等辅助生成。

DDS/Fast-DDS-Gen/scripts/fastddsgen ./idl/HelloWorld.idl -d ./src-gen
生成接口文档
在这里插入图片描述接口文档里面生成许多接口的实现,如图所示:
在这里插入图片描述
这些接口文件里面实现了许多的应用,比如怎么publish 怎么subcrbe等的应用接口具体的实现,在应用的的时候直接将其调用相应的接口即可完成。
下一章将讨论实现接口调用的步骤

相关文章:

  • [ISP] AE 自动曝光
  • x64汇编下过程参数解析
  • 性能测试的脚本录制
  • Redis除了做缓存还能做什么?
  • springai系列(一):接入deepseek问答,扫坑记录
  • 猿大师播放器:HTML内嵌VLC播放RTSP视频流,无需转码,300ms级延迟,碾压服务器转码方案
  • 团队协作中的分支合并:构建高效开发流程的关键
  • 【笔记】论文阅读方法(AI大模型)
  • 半导体晶圆制造良率提升的指标体系设计
  • mapbox基础,使用geojson加载heatmap热力图层
  • 阿里巴巴 item_search 按关键字搜索商品开发应用指南
  • MOBA:长上下文 LLMs 的混合块注意机制
  • SOME/IP-SD -- 协议英文原文讲解7
  • 几个api
  • Windows 图形显示驱动开发-WDDM 3.2-自动显示切换(十)
  • MinIO在 Docker中修改登录账号和密码
  • 车床的应用场景
  • 【Excel】 Power Query抓取多页数据导入到Excel
  • 大模型智能体,企业股票量化投资分析工具
  • HTTP协议与RESTful API实战手册(二):用披萨店故事说透API设计奥秘 [特殊字符]
  • 1块钱解锁2万部微短剧还能日更,侵权盗版难题怎么破?
  • 高瓴、景林旗下公司美股持仓揭晓:双双增持中概股
  • 工人日报:应对“职场肥胖”,健康与减重同受关注
  • 又一例!易方达基金张坤卸任副总职务,将专注于投资管理工作
  • 土耳其、美国、乌克兰三边会议开始
  • “多规合一”改革7年成效如何?自然资源部总规划师亮成绩单