日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

opendds简单入门(二)

發布時間:2023/12/10 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 opendds简单入门(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我也是從網上抄了一個示例,自己測試了一下,

lyingbo的博客-DDS

1. 首先寫一個IDL:

// Demo.idlmodule Demo {#pragma DCPS_DATA_TYPE "Demo::Pos" #pragma DCPS_DATA_KEY "Demo::Pos pos_id"struct Pos {long pos_id;long pos_x;long pos_y;}; };

2. 然后就可以生成代碼了:

opendds_idl Demo.idltao_idl Demo.idl// 備注執行這個命令,需要添加環境變量: // include=D:\OpenDDS3133 // 否則會提示找不到dds目錄下包含的文件,tao_idl DemoTypeSupport.idl

其中tao_idl Demo.idl 生成

< filename >C.cpp< filename >C.h< filename >C.inl< filename >S.cpp< filename >S.h< filename >S.inl //這個不一定有

opendds_idl Demo.idl 生成

< filename >TypeSupport.idl < filename >TypeSupportImpl.h < filename >TypeSupportImpl.cpp

其中生成的IDL文件中包括了PosTypeSupport, PosDataWriter?和PosDataReader的接口定義。這些特定的DDS類型接口將會在稍后注冊數據類型,發布數據樣本和接收數據樣本時使用,而生成的cpp文件實現了這些接口。

生成的IDL文件還需要和原始的IDL一起,用?TAO IDL編譯器編譯,以便生成相應的接口框架。之后這些生成的實現文件需要和使用?Pos類型的OpenDDS應用程序源碼一起編譯鏈接。

而 新生成的IDL還需要再用tao_idl生成一遍。

OpenDDS Java開發(二):根據IDL進行代碼生成

?

?

3. 還有一種方法生成各種代碼文件,同時生成項目文件,因為剛才的方法并沒有生成項目文件還是不能用。

3.1 寫一個mpc文件:

project(*idl): dcps {TypeSupport_Files {Demo.idl}custom_only = 1 }project(*publisher) : dcpsexe_with_tcp {exename = publisherafter += *idlTypeSupport_Files {Demo.idl}Source_Files {DataWriter.cppPublisher.cpp} }project(*subscriber) : dcpsexe_with_tcp {exename = subscriberafter += *publisherTypeSupport_Files {Demo.idl}Source_Files {DataReader.cppSubscriber.cpp} }

3.2 提供相關的代碼文件(可以先隨便新建一個空的):

發布端:

Publisher.cpp

DataWriter.h

DataWriter.cpp

訂閱端:

DataReader.h

DataReader.cpp

Subscriber.cpp

3.3 執行命令,生成項目文件:

mpc使用介紹 (一)

perl %ACE_ROOT%\MPC\mwc.pl -type vs2017 -include %DDS_ROOT%\MPC\config

這個時候就可以在目錄里看到OpenDDSPing.sln了,

備注一下:各個VC版本:

Visual Studio 6 : vc6
Visual Studio 2003 : vc7
Visual Studio 2005 : vc8
Visual Studio 2008 : vc9
Visual Studio 2010 : vc10
Visual Studio 2012 : vc11
Visual Studio 2013 : vc12
Visual Studio 2015 : vc14
Visual Studio 2017 : vs2017

3.4 生成代碼文件,

打開OpenDDSPing.sln,生成IDL項目部分就可以,比手動運行好多了。

3.5 接下來就要完善代碼了,見我的資源下載部分

附錄:示例項目

https://download.csdn.net/download/robinfoxnan/12821698

?

?

總結

以上是生活随笔為你收集整理的opendds简单入门(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。