2024/8/1 14:32
[FASTDDS]04-hello_fastdds程序分解_Annnnnnnnd的技术博客_51CTO博客
https://blog.51cto.com/u_6650004/6344599
1/10
Annnnnnnnd 2023-05-25 08:24:02 博主文章分类:中间件
©著作权
文章标签
FASTDDS 中间件
文章分类
C/C++ 后端开发
[FASTDDS]04-hello_fastdds程序分解
[FASTDDS]04-hello_fastdds程序分解
在之前的章节我们介绍了如何搭建 fastdds 编译环境,以及使用 fastgen 生成 demo 代码。这里我们将在前面
的基础上,参考 fastdds 官方的另外一份 Writing a simple C++ publisher and subscriber application,来
对 fastdds 的发布者和订阅者代码进行分解。
生成工程代码
我们依旧使用 fastgen 生成要发送消息的相关接口,如下:
将会至少生成以下文件:
HelloWorld.cxx: HelloWorld 类型的定义.
HelloWorld.h: HelloWorld.cxx 的头文件.
HelloWorldPubSubTypes.cxx: HelloWorld 类型序列化和反序列化的实现.
HelloWorldPubSubTypes.h: HelloWorldPubSubTypes.cxx 头文件.
发布者代码分解
可以通过以下命令获取发布者的示例代码:
原创
// HelloWorld.idl
struct HelloWorld
{
unsigned long index;
string message;
};
1.
2.
3.
4.
5.
6.
<path/to/Fast DDS-Gen>/scripts/fastddsgen HelloWorld.idl
1.
wget -O HelloWorldPublisher.cpp \
https://raw.githubusercontent.com/eProsima/Fast-RTPS-docs/master/code/Examples/C++/DDSHelloWor
1.
2.
// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima).
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
/**
* @file HelloWorldPublisher.cpp
*
*/
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
文章目录
第1章 [FASTDDS]04-h
生成工程代码
发布者代码分解
订阅者代码分解
每日
签到
意见
反馈
首
页
关
注
排行
榜
订阅专
栏
搜索文章、作者
写文章
创作中心