首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >__uint128_t与gcc交流会

__uint128_t与gcc交流会
EN

Stack Overflow用户
提问于 2011-08-24 11:05:54
回答 3查看 4.6K关注 0票数 10

我想在gcc的帮助下编写一个c程序。此程序使用的是__uint128_t整数。当我试图在同一台64位的机器上用标准的ubuntu gcc编译它时,它完美地工作了。但是,当我试图将它编译为在mingw下的windows时,它根本不识别__uint128_t关键字。这是什么意思?下面没有128位整数吗?如果没有,是否有适用于具有本机(和快速) 128位整数的windows的编程语言?

EN

回答 3

Stack Overflow用户

发布于 2011-08-24 11:29:20

你需要

  • gcc的近现代版本
  • 使用本机64位整数支持编译的版本。

然后,使用对__int128_tint64_t进行仿真,如果64位整数在32位编译中不可用,则用32位进行仿真。

票数 7
EN

Stack Overflow用户

发布于 2011-08-24 11:52:54

使用代码::块和默认的混合安装(也就是IA32 btw),我可以得到同样的问题,但是,当我安装TDM-MinGW64 64时,它编译得很好(在将x64编译器添加到C::B之后)。因此,确保您的混合构建是针对x64 (使用-m64)的,并且它是mingw的x64构建,因为__uint128_t是一个可选的x64 ABI扩展。

不管您使用的是什么windows,都不会将__int128_t作为关键字,因为它是一个特殊的GCC扩展(如前所述)。

票数 6
EN

Stack Overflow用户

发布于 2017-01-11 02:14:17

但是,当我试图将它编译为在mingw下的windows时,它根本不识别__uint128_t关键字。这是什么意思?下面没有128位整数吗?

执行gcc -dM -E - < /dev/null | grep INT128。如果它输出宏#define __SIZEOF_INT128__ 16,那么__uint128_t是可用的。如果它未输出宏或其小于16,则__uint128_t不可用。

请参阅GCC用户邮件列表上的128位整数-无意义的文档?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7174419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档