gpt4 book ai didi

c++ - DDS C++ - 数据分发服务

转载 作者:行者123 更新时间:2023-11-28 05:03:12 29 4
gpt4 key购买 nike

我开始使用 C# 并尝试测试 dds 应用程序后面的代码。我把它取自:http://www.laas.fr/files/SLides-A_Corsaro.pdf

using System;
/**********************************************************
* Definition for the TempSensorType
**********************************************************/
enum TemperatureScale{
CELSIUS,
KELVIN,
FAHRENHEIT
};
struct TempSensorType{
short id;
float temp;
float hum;
TemperatureScale scale;
};
#pragma keylist TempSensor id

/**********************************************************
* Main
**********************************************************/
static public void Main(string[] args){

dds::Topic<TempSensorType> tsTopic(TempSensorTopic);
dds::DataWriter<TempSensorType> dw(tsTopic);
dds::DataReader<TempSensorType> dr(tsTopic);
dds::SampleInfoSeq info;

TempSensorSeq data;
TempSensorType ts;
ts = new TempSensorType { 1, 25.0F, 65.0F, CELSIUS };
dw.write(ts);
ts = new TempSensorType { 2, 26.0F, 70.0F, CELSIUS };
dw.write(ts);
ts = new TempSensorType { 3, 27.0F, 75.0F, CELSIUS };
dw.write(ts);
sleep(10);
while (true){
dr.read(data, info);
for (int i = 0; i < data.length(); ++i)
std::cout << data[i] << std::endl;
sleep(1);
}
Console.WriteLine("Bonjour");
}

我开始理解每段代码的用途。但我有疑问关于主体中的前 4 行,那些以“dds::”开头的行,我认为它们是错误的 - 我得到“预期的标识符”。如能提供帮助,将不胜感激。

最佳答案

在我看来,它不是有效的 DDS 代码。您似乎缺少 IDL 定义(应该解释 #pragma)和代码。

必须先在.idl文件中创建主题,然后构建id才能创建程序中使用的类,然后再使用程序库,什么都没有。

开始下载DDS实现,如OpenDDSFast-RTPS .除此之外,您还可以查看 this site 中的 OpenDDS 部分。来自从头开始的工作 OpenDDS 示例。

关于c++ - DDS C++ - 数据分发服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45442693/

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