16

gcc docs 下,128 位整数是:

作为扩展,整数标量类型__int128支持具有足够宽以容纳 128 位的整数模式的目标。只需写__int128一个有符号的 128 位整数,或unsigned __int128一个无符号的 128 位整数。

GCC 不支持为__int128具有小于 128 位宽的 long long 整数的目标表示类型的整数常量。

我想知道哪个 gcc 版本添加了对这种类型的支持,或者是否有一个可以直接用于测试其存在的宏。

4

2 回答 2

13

不确定第一个版本,但您可以测试宏 -如果已定义__SIZEOF_INT128__(通常) 。16

于 2014-02-19T16:54:04.373 回答
7

获取源代码并:

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

于 2015-05-19T15:48:00.973 回答