【发布时间】:2018-03-08 15:21:03
【问题描述】:
我有一个非常大的旧版 Visual Studio 解决方案,在某些源代码中,我感兴趣的类型是 unsigned long。我无法更改此代码,我想知道用作计数器的该类型变量何时会翻转。
我用一个简单的程序 std::cout << sizeof(unsigned long) 编写了一个不同的非常小的 Visual Studio 项目,我得到了 4:我可以假设 sizeof(unsigned long) 在大解决方案中也提供 4 吗?或者是否有一些构建/编译器选项可以改变它?
是否有任何特定于 Microsoft 的编译器选项可以根据每个项目更改内置类型的大小?
【问题讨论】:
-
如果您需要一个固定大小的整数,请查看
<cstdint>。不要对unsigned long做出假设 -
@StoryTeller 是的,谢谢,我知道
<cstdint>。 -
我怀疑你问这个问题是别有用心的。值得在您的帖子中提及。在这种情况下,您得到的答案可能比简单的是/否要好。
-
@StoryTeller 我显然可以添加一点上下文 :-) 即使基于 C++ 标准和/或 Microsoft doc 的是/否答案对我来说就足够了。
-
@StoryTeller 我编辑了问题。
标签: c++ visual-studio visual-c++ build legacy-code