据报道wchar_t没用,Android NDK开发中不支持wchar_t。如果是这种情况,我需要怎么做才能将wchar_t定义为无符号的short?

这将极大地帮助移植引用wchar_t的本机库,并且似乎也更适合JNI对Unicode的理解。 GetStringUTFChars()返回const char *,而GetStringChars()返回const jchar *,其中jchar被定义为无符号短整数(2个字节)。将wchar_t定义为无符号的short会使它与GetStringChars()兼容,并且看起来使我的生活更加轻松。

可能吗?怎么办我认为这将需要修改并重建工具链。

最佳答案

gcc知道选项-fshort-wchar。我不知道Android中的编译器是否支持此选项。

我想说的是,您的本机库是否使用C-RTL的宽字符串函数?在这种情况下,您需要自己提供这些实现。

10-06 11:02