[英]CORBA IDL to C++ - char vs. unsigned char?
我们将OmniORB与我们的C ++服务器一起使用。 目前,当在IDL文件中将对象指定为char
时,它将被转换为C ++中的unsigned char
。 我们希望它只是char
。 有什么我们可以改变来实现这一目标吗?
它是实现定义( 规范中的第15页 )IDL类型boolean
, char
和octet
映射到的内容。
...
typedef unsigned char _CORBA_Char;
typedef unsigned char _CORBA_Octet;
...
您可以更改omniORB源,但我怀疑这是个好主意。 或者您可以接受CORBA::Char
不代表C ++ char
类型。
我建议在调用直接CORBA调用函数并分配这些函数的返回值时使用CORBA::Char
。
如果你需要将它们转换为'char'或'unsigned char',那么static_cast
应该可以完成这项工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.