0

我正在尝试使用 Emscripten 将 C 项目编译为 Javascript,并且我有非常基本的代码,它使用 GCC 扩展支持__int128,如下所示:

unsigned __int128 r = (unsigned __int128)a * (unsigned __int128)b;
*hi = r >> 64;
return (uint64_t)r;

现在这些变量是从uint64_t我知道 Emscripten 支持的指针中转换出来的,但是我在编译时收到一个错误,上面写着

error: __int128 is not supported on this target

所以,要么我不知道如何启用支持,要么不支持这种类型。如果是后者,是否有人有关于如何在没有类型支持的情况下模拟 128 位无符号整数乘法的提示?代码似乎实际上不需要将结果保持为完整的无符号 128 位形式,因为乘法之后的行将数字向下移动到 64 位无符号整数。

4

0 回答 0