我有一个使用 OpenMP 和 128 位整数的 C 代码。对于 128 位整数,我使用 GCC 提供的 __int128_t 和 __uint128_t 扩展。我正在寻找也可以编译此类代码的任何其他编译器。
Clang 支持 __uint128_t,但不支持 OpenMP。 ICC 支持 OpenMP,但不支持 128 位整数 (at least not ones that you can use built-in operators like +, -, *, /, and % with) 。 Portland Group C Compiler本身不支持 128 位算术。
需要明确的是,我正在寻找类似于 __int128_t 的 128 位整数,它们可以作为“普通”整数的直接替代品。除了 GCC 之外,还有支持 OpenMP 和 128 位整数并具有内置运算符 +、-、*、/和 % 的 Linux 编译器吗?
最佳答案
ICC 在版本 12 中不支持 __int128_t(当发布此问题时),但从版本 13 开始添加了支持,请参阅:128-bit integers supporting +, -, *, /, and % in the Intel C Compiler?
关于c - Linux 的 GCC 替代方案,支持 OpenMP 和带 +、-、*、/和 % 的 128 位整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16424386/