c++ - 允许选择 int 宽度的 C/C++ 编译器

标签 c++ c int compiler-options

有谁知道允许您在 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/

相关文章:

android - 字符串不能转换为整数

c++ - operator == overload not called for implied 'true' ?

c - 多线程标准输出在每次执行时写入不同的内容

c - 相同的结构不同的文件

c - 错误无效使用 void 表达式

Swift 警告 - 从 'Builtin.Int32' 转换为 'Builtin.Int8' 时整数溢出

java - int[] 数组的outputStream.write()

c++ - 使用堆栈添加带有组件的 2 个 vector 组件

c++ - 你如何检查 C++ 中的行尾?

c++ - 在编译时保存静态二叉树的简单方法