CORBA-IDL到C++;-字符与未签名字符? 我们用我们的C++服务器使用OMNIORB。当前,当对象在IDL文件中被指定为 char < />代码时,它被翻译成未签名的char < /C> > C++。我们希望它只是char。有什么可以改变的吗?

CORBA-IDL到C++;-字符与未签名字符? 我们用我们的C++服务器使用OMNIORB。当前,当对象在IDL文件中被指定为 char < />代码时,它被翻译成未签名的char < /C> > C++。我们希望它只是char。有什么可以改变的吗?,c++,corba,omniorb,C++,Corba,Omniorb,这是实现定义的(),IDL类型boolean,char和octet映射到什么 : 您可以更改omniORB源,尽管我怀疑这是个好主意。也可以接受“ CORBA::char < /> >不代表C++ char < /C> >类型。 < p>我建议使用“COD>CORBA::char < /C>”,当调用CORBA调用的函数并分配这些函数的返回值时, 如果需要将它们转换成“char”或“unChar char”,则代码> StistalyCase应该执行该工作。< /P>是,配置编译器默认将CHA

这是实现定义的(),IDL类型
boolean
char
octet
映射到什么

:


您可以更改omniORB源,尽管我怀疑这是个好主意。也可以接受“<代码> CORBA::char < /> >不代表C++ <代码> char < /C> >类型。

< p>我建议使用“COD>CORBA::char < /C>”,当调用CORBA调用的函数并分配这些函数的返回值时,


如果需要将它们转换成“char”或“unChar char”,则<>代码> StistalyCase应该执行该工作。< /P>是,配置编译器默认将CHAR视为无符号(即“代码> -签名CHAR< <代码> >”。“我能将CORBA IDL更改为C++映射吗?”这是一个在90年代后期由成千上万的C++程序员发出的短语。我不知道OMiNoRB的细节,但是TAO(见)确实使用了C++ char类型作为IDL字符。关于更改IDL映射,请看一看新的IDL到C++11语言的映射,它实现了人们谈论已久的映射(请参阅),我们将其作为TAOX11的一部分实现(请参阅)。
...
typedef unsigned char _CORBA_Char;
typedef unsigned char _CORBA_Octet; 
...