【发布时间】:2012-06-17 00:45:36
【问题描述】:
我正在尝试找出通过 c89 的方法,但现在我遇到了这个问题。
stdint.h 是否有任何等效的双数据类型?
如果是,我们如何打印?
【问题讨论】:
-
您是否在询问在哪里可以找到
FLT_MAX和朋友?可以转float.h
我正在尝试找出通过 c89 的方法,但现在我遇到了这个问题。
stdint.h 是否有任何等效的双数据类型?
如果是,我们如何打印?
【问题讨论】:
FLT_MAX 和朋友?可以转float.h
stdint.h 用于整数类型,C 中没有固定大小的浮点类型。
顺便说一句,您提到了 C89,请注意 stdint.h 标准标头是 C99 附加的。
【讨论】:
bool 关键字的相同编译器编译 stdint.h 标头。
gcc 默认使用 GNU 扩展在 C89 中编译。要使用bool,请包含stdbool.h 并使用-std=c99 或-std=gnu99(带有GNU 扩展的C99)进行编译。
bool 是一个 C99 结构。你用的是什么版本的 gcc?请注意,您可以通过-std=c99 指定标准合规性以确保这一点。
stdint.h 是一个 c99 构造,那为什么 gcc 不编译 bool。我的意思是指出这两个事实之间的矛盾。
gcc 非常友好,可以让您在 c89 中包含标头而不会抱怨。