当前位置: 首页 > 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等的应用接口具体的实现,在应用的的时候直接将其调用相应的接口即可完成。
下一章将讨论实现接口调用的步骤

http://www.dtcms.com/a/40951.html

相关文章:

  • [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设计奥秘 [特殊字符]
  • 批量给 Word 添加或设置页眉页脚/页码
  • 傅里叶分析
  • Java+Vue+uniapp微信小程序校园自助打印系统(程序+论文+讲解+安装+调试+售后)
  • DVWA -第二关-命令执行
  • Taylor龙哥库塔。各种稳定性
  • 李代数(Lie Algebras)与Attention:深度学习中的数学之美
  • Spring Cloud 的核心定义与定位
  • PMP项目管理—整合管理篇—3.指导与管理项目执行
  • 【Linux文件IO】系统IO和标准IO介绍
  • 具身智能(Embodied AI)的物理交互基准测试:构建真实世界的智能体评估体系