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_