__int128
是 GCC 提供的扩展(extension),可以当作 128 位整数使用。
关于 __int128
和 __int128_t
Normally,
_t
suffix means a typedef,__
prefix means reserved for compiler and_
prefix means reserved for standard library; I would guess that__int128
is the final native type supported by the compiler, while__int128_t
was a temporary hack that they moved away from.
SOURCE
如何判断你所使用的 GCC 版本是否包含 __int128
扩展
You can test for the
__SIZEOF_INT128__
macro --- which is (typically) 16 if defined.
SOURCE
REFERENCE:
https://stackoverflow.com/q/21886985
https://stackoverflow.com/q/29638723/6052725