gpt4 book ai didi

c++ - 如何在 C++ 中使用 IDL 来桥接系统消息

转载 作者:行者123 更新时间:2023-11-28 04:59:07 24 4
gpt4 key购买 nike

我基本上有两组消息在我的企业中冒泡(主要是通过 DDS)。一组是原始系统数据,另一组是复杂的视觉数据。

我有一个应用程序可以为这些消息中的大多数创建发布者和订阅者。

我如何编写一个 .idl 文件,以便它可以获取系统数据实例(多个),或许可以通过一些数学运算来聚合它们,然后将它们作为单个可视数据消息发布?

预计此应用程序会通过添加生成的 .IDL 重新编译。

我正在寻找的是以下示例:

  • 如何编写 .idl 来处理此转换
  • 如何公开系统消息订阅者以供 .idl 生成的逻辑使用
  • 同样,我如何公开视觉发布者以供 .idl 逻辑访问?

请帮忙。例子会很棒和/或特定的链接也会受到欢迎。

最佳答案

Interface Definition Language (IDL) 是一种描述数据类型和接口(interface)的语言。它不是一种“编程”语言,因为它不描述可执行代码;因此,它不提供对数据进行操作的机制。具体来说,它不允许您“获取系统数据……并将它们发布出去”——这些任务是应用程序的一部分。

[有许多编译器可用于将 IDL 定义的类型和接口(interface)“编译”为标准编程语言。任何可用的 DDS 或 CORBA 实现都可能包含这样的 IDL 编译器。]

因此,为了实现您的目标,您需要执行以下操作:

  1. 在 IDL 中定义所需的数据类型,并将其编译为目标编程语言
  2. 编写代码以某种任意格式收集系统数据
  3. 编写代码将系统数据分配给IDL指定的数据类型[s]
  4. 编写代码通过中间件(例如 Data Distribution Service (DDS))发布数据类型[s]

关于c++ - 如何在 C++ 中使用 IDL 来桥接系统消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46497572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com