GCC 下的 2 字节 (UCS-2) 宽字符串

Sev*_*yev 5 c++ gcc ucs2 widestring right-to-left

当将我的 Visual C++ 项目移植到 GCC 时,我发现 wchar_t 数据类型默认为 4 字节 UTF-32。我可以使用编译器选项覆盖它,但 RTL 的整个 wcs*(wcslen、wcscmp 等)部分将变得不可用,因为它假定 4 字节宽的字符串。

现在,我已经从头开始重新实现了其中的 5-6 个函数,并在其中定义了我的实现。但是有没有一个更优雅的选择 - 比如说,一个 GCC RTL 的构建,其中 2 字节 wchar-t 静静地坐在某处,等待被链接?

我所追求的 GCC 特定版本是 Mac OS X 上的 Xcode、Cygwin 以及 Debian Linux Etch 附带的版本。

Sev*_*yev 0

重新实现了 5-6 个更常见的 wcs* 函数,#define了我的实现。