我想要编译MinGW的下一个gcc的C程序。该程序正在使用一个整数__uint128_t
。当我尝试在同一个64位机器上的标准ubuntu gcc下编译它时,它完美的工作。但是,当我尝试在mingw下编译windows时,它甚至不会识别__uint128_t
关键字。这是什么意思? mingw下没有128位整数? 如果没有,是否有任何编程语言,用于窗户,具有天然的(和FAST)128个的整数?__uint128_t上MinGW的GCC
7
A
回答
5
你需要
- GCC的一个相对较新的版本
- 与原生64位整数支持编译版本
__int128_t
然后通过方法一样使用双int64_t
仿真64位整数与32位模拟的,如果他们无法在32位编译
5
我能得到使用代码::块和默认MinGW的安装(这是IA32 BTW)同样的问题,但是,当我安装TDM-MinGW64,它编译罚款(加上64位编译器到C :: B之后)。因此,请确保您的MinGW构建的目标是64位(与-m64
)和它的MinGW的64位版本,因为__uint128_t
是一个可选的64位ABI扩展。
任何窗口IDE使用的是不会拿起__int128_t
作为关键字虽然,因为其特殊的GCC扩展(如前所述)。
0
但是,当我尝试编译windows下的mingw时,它甚至不能识别__uint128_t关键字。这是什么意思? mingw下没有128位整数?
执行gcc -dM -E - < /dev/null | grep INT128
。如果它输出宏#define __SIZEOF_INT128__ 16
,则__uint128_t
可用。如果它不输出宏或小于16,则__uint128_t
不可用。
另请参阅GCC用户邮件列表上的128-bit integer - nonsensical documentation?。
相关问题
- 1. gcc上的InterlockedOr8 MinGW
- 2. 在MinGW上使用gcc
- 3. Cygwin上的GCC与MinGW共存
- 4. QtCreator和MinGW GCC 4.8.1
- 5. 编译qt 4.7.3在mingw上用gcc 4.6
- 6. 使用GCC(MinGW)在Windows上编译OpenGL
- 7. 来源为在gcc/MinGW的
- 8. MinGW gcc什么都不做
- 9. MinGW GCC无法识别MEMSTATUSEX?
- 10. LLVM:用于Windows的llvm-gcc(mingw)的bitcode
- 11. 在MinGw下构建完整的gcc
- 12. Eclipse中的MinGW GCC和G ++错误
- 13. 在gcc中的静态链接(mingw)
- 14. mfpmath选项MinGW的(甚至GCC)
- 15. 错误而编制的wxWidgets-2.8.12上的MinGW与GCC-4.8.1
- 16. MingW GCC在linux上编译用于windows的SDL程序?
- 17. GCC(MinGW的)和WINAPI上Windows调用32位
- 18. GCC/MingW在不同的版本上编译
- 19. 如何解决在mingw(或mingw-w64)gcc中缺少InitOnceExecuteOnce?
- 20. 如何知道__uint128_t定义
- 21. llvm-gcc和clang二进制文件是否与gcc兼容? - 尤其是在Windows上的mingw gcc
- 22. 如何用MinGW gcc使用wintab?
- 23. 如何使用mingw gcc链接msvcr90.dll?
- 24. AX Parser Generator和mingw gcc 4.6 operator&
- 25. MinGW gcc设置fp舍入模式
- 26. 编译libf2c w/latest mingw-get-inst(3.16.11),gcc
- 27. 使用gcc嵌入二进制blob mingw
- 28. Borland vs. MingW/GCC编译速度..
- 29. mingw只升级gdb而不更改gcc
- 30. 为什么没有用gcc和MinGW
执行'gcc -dM -E - dev/null | grep INT128'。如果输出'#define __SIZEOF_INT128__ 16',则可以使用'__uint128_t'。如果它不输出宏或小于16,那么'__uint128_t'不可用。 – jww