glib gunichar和wchar_t之间有什么区别,哪个更适合跨平台解决方案?

我正在尝试编写一些只在用户拥有gcc可移植的C代码,并安装了glib

从我的所有研究中,我发现使用gccwchar_t总是被定义为4个字节,而使用glibgunichar也是4个字节。

想到的是,如果像gunicharwchar_t也被编码为UCS4。 是这样的吗? 如果是这样,我应该能够简单地将gunichar*转换为wchar_t*并使用stdc wcs*函数,对吧?

如果使用GLib,请不要使用wchar_t 。 使用它的unicode支持,它比C标准库的支持好得多。

wchar_t在Linux和Mac OS(以及其他一些)上是4个字节,而不是Windows(它是2个字节)和其他一些字节。 可移植代码意味着避免像瘟疫那样的wchar_t