繁体   English   中英

CORBA IDL到C ++ - char与unsigned char?

[英]CORBA IDL to C++ - char vs. unsigned char?

我们将OmniORB与我们的C ++服务器一起使用。 目前,当在IDL文件中将对象指定为char时,它将被转换为C ++中的unsigned char 我们希望它只是char 有什么我们可以改变来实现这一目标吗?

它是实现定义( 规范中的第15页 )IDL类型booleancharoctet映射到的内容。

omn​​iORB选择

...
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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM