OpenDDS处理IDL时,分别将用TAO和OpenDDS的IDL编译器进行处理,处理命令包含opendds_idl、tao_idl、idl2jni等,各自的作用如下
- tao_idl,将IDL文件生成C++语言的表示;
- opendds_idl,将IDL生成DDS类型指定接口的C++语言的表示;
- idl2jni,java本地方法的实现;
以HelloMsg.idl为例
1)tao_idl HelloMsg.idl,执行tao_idl的编译HelloMsg.idl的结果文件,
HelloMsgC.cpp
HelloMsgC.h
HelloMsgC.inl
HelloMsgS.cpp
HelloMsgS.h
#if TAO_MAJOR_VERSION != 2 || TAO_MINOR_VERSION != 3 || TAO_BETA_VERSION != 0
#error This file should be regenerated with TAO_IDL
#endif
#if defined (TAO_EXPORT_MACRO)
#undef TAO_EXPORT_MACRO
#endif
#define TAO_EXPORT_MACRO HelloCommon_Export
namespace Hello
{
struct HelloMsg;
typedef
::TAO_Var_Var_T<
HelloMsg
>

本文介绍了OpenDDS中处理IDL文件的命令,包括tao_idl用于生成C++表示,opendds_idl生成DDS类型接口,以及idl2jni用于生成Java本地方法。通过示例展示了各命令执行后的输出文件及作用,详细解析了opendds_idl的命令行选项,以及idl2jni生成的Java相关代码。
订阅专栏 解锁全文
1141





