有谁知道允许您在 16 位和 32 位类型 int 之间进行选择的现代 native Windows C 或 C++ 编译器?我在 80 年代遇到过一个具有此功能的交叉编译器,但我需要一个 native 编译器。作为向我的学生讲授可移植性和标准合规性的一部分,我希望能够在他们乘法、加法等时自动检查他们的代码是否溢出。两种类型的 int 数量和结果将大于 16 位 int 可能代表。谢谢。
最佳答案
参见 C++11 及之后定义的整数类型:http://en.cppreference.com/w/cpp/types/integer : int8_t
, int16_t
, int32_t
, int64_t
几乎所有现代 C++ 编译器都应该支持这些:GCC you can use MinGW on Windows , MSVC , Intel , Clang , 甚至 Borland/Codegear/Embarcardero因为它们现在是标准的一部分。
固定宽度整数类型自 C99 以来一直是 C 语言的一部分,但最终在 C++11 中添加到 C++ 中,请参阅:N1988
关于c++ - 允许选择 int 宽度的 C/C++ 编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37564338/