c - clang 中是否有固定宽度的 float 类型?

标签 c clang

GCC 为固定宽度的 float 提供了 _Float32 和 _Float64。

但是,这些都不是标准的,并且不存在于 clang 中。我也找不到 clang 的等价物。

某些平台可以将 float 或 double 定义为非 32 位或 64 位,因此不能使用这些类型。

最佳答案

回答提出的问题,CLang's documented language extensions不包括 GCC 的 _Float32_Float64 类型的类似物。但是请注意,即使是 GCC 也只在原生支持相应类型的目标上提供这些。

另一方面,由于 clang 构建在 LLVM 之上,因此值得考虑 LLVM's documentation of FP type representations :

The binary format of half, float, double, and fp128 correspond to the IEEE-754-2008 specifications for binary16, binary32, binary64, and binary128 respectively.

从这个意义上说,CLang 的 _Float64_Float32 分别是 doublefloat。 (事实上​​ ,对于支持显式宽度版本的几乎所有目标,GCC 中都具有相同的等价性。)

关于c - clang 中是否有固定宽度的 float 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53959754/

相关文章:

c++ - 正则表达式值到字符串

c - 将本地指针传递给函数 FatFs

c - 空终止字符指针

c - 如何从汇编代码构建数据依赖图

c++ - 在 macOS Catalina 上从源代码编译 LLVM(How to solve "stdio.h"not found)

c++ - OSX Mojave-ld:找不到架构x86_64铛的符号:错误:链接器命令失败,退出代码为1

加载字节时,Clang 不会将高位清零。这是一个错误还是一个故意的选择?

c - 怎么会无限次发生呢?

c - 我的 Avro-C 安装在哪里?

c++ - 在表达式内部具有内联构造的 POD 类?