c - Linux 的 GCC 替代方案,支持 OpenMP 和带 +、-、*、/和 % 的 128 位整数

标签 c linux integer int128

我有一个使用 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/

相关文章:

C - 不能使用整数来 char* 工作。加1不。有问题

java - 如何测试接收到的输入是否不是整数(不使用else语句)

python - Python 可见的弃用警告

c - 为什么汇编中 if 语句中的条件是逻辑“NOT”?

c - 这是否被认为是未定义行为 x =++x % 5;

c++ - 为什么将未使用的返回值转换为 void?

c - 如何用 C 检测 Linux 上 exec'ed 子进程的文件事件?

php - 如何使用 cURL 下载在 PHP 中使用 HTTP 摘要身份验证保护的文件?

c# - FTPClient 将文件从 Linux 移动到 Windows。知道他们什么时候结束发电

Java打印包含多个整数的字符串