桑格芝士网

百科知识分享平台,汇聚全球百科全书与学习资源

Fast DDSgen 的环境搭建避坑教材(fastdfs介绍)

FastDDS 是什么

FastDDS是开源高性能DDS中间件(数据分发服务),遵循OMG DDS标准,专为分布式系统设计。它通过发布/订阅模式实现设备间实时通信,支持毫秒级低延迟传输与22种QoS策略(如可靠性、持久性),成为自动驾驶、工业物联网的核心通信框架12。

What is Fast DDS? - 3.2.2

为什么用DDS

在复杂系统中(如智能汽车),传统通信协议难以满足:

  • 动态节点发现:设备上线自动识别,无需手动配置
  • 差异化QoS:关键数据(如刹车指令)优先传输
  • 跨平台互通:解决嵌入式ECU与云端服务器协议割裂问题
    例:FastDDS 3.2.2版本优化发现服务器效率,提升大规模节点协同性能2

fastDDSGen 是什么

FastDDSGen是FastDDS的官方代码生成工具,可将IDL接口定义文件一键转为C++/Java/Python代码,自动实现数据类型序列化、QoS绑定与通信框架集成。


使用中的热点问题

[痛点问题】 在 windows 系统下使用fast-dds-gen 工具将IDL 后缀文件转成.c 和.h 文件。

因网上教程同质化严重,写的太简单,实际使用过程中,踩坑太多。根据个人的摸索,希望能够讲清楚。

配置及准备工作

1) Java 软件

java 11+ , 版本11以上。

可以在cmd 测试一下自己版本:

Java  --version
  1. Install Java 11+: Download OpenJDK 11+ from:

我自己下载link1 -microsoft open JDK,最新版本21.0.7。


D:\MyWork\rt-thread\rtthreadsmart\rt-thread>java --version                                                              
openjdk 21.0.7 2025-04-15 LTS                                                                                           
OpenJDK Runtime Environment Microsoft-11369940 (build 21.0.7+6-LTS)                                                     
OpenJDK 64-Bit Server VM Microsoft-11369940 (build 21.0.7+6-LTS, mixed mode, sharing)     

2) Visusal Studio 2022

内置一个开发者命令工具,


运行开发者命令行后,下面的命令行串口:

运行fastddsgen

fastddsgen 是一个java 模块文件,依赖java

切换到fastddsgen 所在目录后。

先测试一下 ,在当前工作目录是否支持java.

java --version

这里,我们以hello.idl 文件为例,进行代码转化:

java  -jar  fastddsgen.jar   hello.idl
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言