猿问

bool是本地的C型吗?

bool是本地的C型吗?

我注意到Linux内核代码使用bool,但我认为bool是C+类型。bool是标准C扩展(例如ISO C 90)还是GCC扩展?



holdtom
浏览 503回答 3
3回答

冉冉说

bool存在于当前的C-C99中,而不存在于C89/90中。在C99中,本机类型实际上称为_Bool,同时bool中定义的标准库宏。stdbool.h(这是意料之中的决心_Bool)。类型对象_Bool持有0或1,同时true和false也是stdbool.h.请注意,BTW,这意味着C预处理器将解释#if true如#if 0除非stdbool.h包括在内。同时,C+预处理器也需要本地识别。true作为一种语言文字。

繁花如伊

C99增加了一个内建物_Bool数据类型(见维基百科),如果你#include <stdbool.h>,它提供bool作为宏_Bool.您特别询问了Linux内核。它假定存在于_Bool并提供一个bool.class=‘class 2’>包括/linux/type.h.
随时随地看视频慕课网APP
我要回答