五种常用的C/C++编译器对64位整型的支持

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了五种常用的C/C++编译器对64位整型的支持相关的知识,希望对你有一定的参考价值。

变量定义 输出方式 gcc(mingw32) g++(mingw32) gcc(linux i386) g++(linux i386) MicrosoftVisual C++ 6.0
long long "%lld" 错误 错误 正确 正确 无法编译
long long "%I64d" 正确 正确 错误 错误 无法编译
__int64 "%lld" 错误 错误 无法编译 无法编译 错误
__int64 "%I64d" 正确 正确 无法编译 无法编译 正确
long long cout 非C++ 正确 非C++ 正确 无法编译
__int64 cout 非C++ 正确 非C++ 无法编译 无法编译
long long printint64() 正确 正确 正确 正确 无法编译

 

这五种编译器分别是gcc(mingw32),g++(mingw32),gcc(linux i386),g++(linux i386),Microsoft Visual C++ 6.0。可惜的是,没有一种定义和输出方式组合,同时兼容这五种编译器。为彻底弄清不同编译器对64位整型,我写了程序对它们进行了评测,结果如上表。

以上是关于五种常用的C/C++编译器对64位整型的支持的主要内容,如果未能解决你的问题,请参考以下文章

swift学习第二天:swift中的基本数据类型

golang数据类型变量定义

Go+类型与类型转换

Go基础数据类型

c语言中长整型和整型的范围

扩展的整型