【发布时间】:2015-04-08 13:42:37
【问题描述】:
我知道编译器在 64 位架构上支持某些类型,例如 __int128_t。它基本上将一个数字存储在 2 个寄存器中。现在,有没有办法在 64 位机器上创建类似 __int256_t 的东西?
基本上,我想知道是否有一种方法可以扩展编译器以支持例如在 4 个寄存器上存储数字的数据类型,并以某种方式重载 + 运算符以正确添加它们。
【问题讨论】:
-
你到底为什么要问?为什么不能使用GMPlib?对于什么处理器,什么编译器(我猜是 GCC,因为你标记了它),什么操作系统?对于什么源代码?请编辑您的问题以改进它!
-
这个问题只是为了提高我对语言和编译器的知识/理解,没有任何实际结果(将原始数据类型存储在 4 个或更多寄存器上实际上是不切实际的)。所以我从理论的角度要求更多。此外,这可以很容易地使用具有 4 个整数和函数的结构来实现加法/乘法。但同样,问题在于让我的新类型表现得像一个内置类型。
-
您准备好为此花费数周或数月的时间了吗?
-
@BasileStarynkevitch:我准备花几天时间来了解它是如何完成的。
-
几天时间还不够理解....
标签: c gcc compiler-construction