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

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

我如何编写一个.idl文件,以便它可以捕获(多个)系统数据实例,也许在进行一些数学运算的情况下对其进行汇总,然后将其发布为单个可视数据消息?

预计该应用程序将通过添加生成的.IDL进行重新编译。

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


我如何编写一个.idl来处理此转换
如何使系统消息订阅者可用于.idl的生成逻辑
同样,我如何使可视发布者可以使用.idl的逻辑进行访问?


请帮忙。示例将很棒,并且/或者也将欢迎特定链接。

最佳答案

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

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

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


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

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

10-12 03:56