在gcc docs 下,128 位整数是:
作为扩展,整数标量类型
__int128
支持具有足够宽以容纳 128 位的整数模式的目标。只需写__int128
一个有符号的 128 位整数,或unsigned __int128
一个无符号的 128 位整数。GCC 不支持为
__int128
具有小于 128 位宽的 long long 整数的目标表示类型的整数常量。
我想知道哪个 gcc 版本添加了对这种类型的支持,或者是否有一个可以直接用于测试其存在的宏。
在gcc docs 下,128 位整数是:
作为扩展,整数标量类型
__int128
支持具有足够宽以容纳 128 位的整数模式的目标。只需写__int128
一个有符号的 128 位整数,或unsigned __int128
一个无符号的 128 位整数。GCC 不支持为
__int128
具有小于 128 位宽的 long long 整数的目标表示类型的整数常量。
我想知道哪个 gcc 版本添加了对这种类型的支持,或者是否有一个可以直接用于测试其存在的宏。
不确定第一个版本,但您可以测试宏 -如果已定义__SIZEOF_INT128__
(通常) 。16
获取源代码并:
git log --reverse --grep='__int128'
查看提交消息中单词的第一次出现。
这导致我们:https://github.com/gcc-mirror/gcc/commit/6388cfe24f7ecbdc2ba2d4c80638ea6c95ba07c2它说:
Add __int128 keyword.
然后列出包含该提交的所有标签:
git tag --contains 6388cfe24f7ecbdc2ba2d4c80638ea6c95ba07c2
最早的是:
gcc-4_6_0-release
TODO:还有一个较早的参考资料__int128_t
,我不明白。__int128
和 和有什么不一样_int128_t
?