Closed. This question needs details or clarity. It is not currently accepting answers. Learn more
想改进这个问题吗?添加细节并通过editing this post澄清问题。
5年前关闭。
这方面的文档非常缺乏,所以我希望社区可以运行一个简单的测试并在这里发布结果,以便我和其他任何人都有参考。
#include <cwchar>
sizeof( std::mbstate_t );

如果你能在这里发布结果,并提到你正在使用的编译器,我将非常感谢。
在VS2010上,它被声明为typedef int mbstate_t;,32位和64位构建的大小都是4字节。
我这么问是因为mbstate_tstreampos的成员。我需要使用此成员来存储编码的转换状态。我能得到的最小空间是3字节,所以我需要知道是否有任何实现会破坏我的代码。
提前谢谢。

最佳答案

x86 64上的gcc(Ubuntu/Linaro 4.6.3-1ubuntu5)4.6.3

size = 8

在armv7l上的gcc(Ubuntu/Linaro 4.6.3-1ubuntu5)4.6.3
size = 8

07-26 08:42