【发布时间】:2014-02-13 18:14:36
【问题描述】:
我们将 OmniORB 与我们的 C++ 服务器一起使用。目前,当一个对象在 IDL 文件中被指定为 char 时,它在 C++ 中被转换为 unsigned char。我们希望它只是char。我们可以改变什么来实现这一点吗?
【问题讨论】:
-
是的,将编译器配置为默认将 char 视为无符号(即
-funsigned-char)。 -
“我可以将 CORBA IDL 更改为 C++ 映射吗”—— 90 年代后期成千上万的 C++ 程序员所说的一句话。
-
我不知道 OmniORB 的详细信息,但 TAO(请参阅 download.dre.vanderbilt.edu)确实使用 C++ 字符类型作为 IDL 字符。关于更改 IDL 映射,看看新的 IDL 到 C++11 语言的映射,它实现了人们谈论已久的映射(见omg.org/spec/CPP11),我们将其作为 TAOX11 的一部分实现(见@ 987654323@).