这源于今天早些时候关于 bignum 库和 gcc 对 C 语言的特定黑客攻击的问题。具体来说,使用了这两个声明:
typedef unsigned int dword_t __attribute__((mode(DI)));
在 32 位系统和
typedef unsigned int dword_t __attribute__((mode(TI)));
在 64 位系统上。
我假设这是对 C 语言的扩展,因此无法实现它在当前(C99)标准中实现的任何目标。
所以我的问题很简单:这个假设是否正确?这些语句对底层内存有什么作用?我认为结果是我有2*sizeof(uint32_t)
32dword
位系统和2*sizeof(uint64_t)
64 位系统,对吗?