我注意到Linux内核代码使用bool,但我认为bool是C++类型.bool是标准的C扩展(例如,ISOC90)还是GCC扩展?
bool存在于当前的C-C99中,但不存在于C89/90中.
bool
在C99中,本机类型实际上被称为_Bool,而bool是stdbool.h中定义的标准库宏(预期解析为_Bool).类型为_Bool的对象包含0或1,而true和false也是stdbool.h中的宏.
_Bool
stdbool.h
true
false
请注意,顺便说一句,这意味着C预处理器将把#if true解释为#if 0,除非包含stdbool.h.同时,C++预处理器需要作为语言文字来自动识别true.
#if true
#if 0
玩转Spring全家桶 -〔丁雪丰〕
研发效率破局之道 -〔葛俊〕
性能工程高手课 -〔庄振运〕
性能测试实战30讲 -〔高楼〕
人人都能学会的编程入门课 -〔胡光〕
数据中台实战课 -〔郭忆〕
互联网人的英语私教课 -〔陈亦峰〕
Web安全攻防实战 -〔王昊天〕
Flink核心技术与实战 -〔张利兵〕
Spark性能调优实战 -〔吴磊〕
说透区块链 -〔自游〕
Tony Bai · Go语言第一课 -〔Tony Bai〕
无涯教程 - React Native教程
无涯教程 - Elixir教程
无涯教程 - MFC教程
无涯教程 - PDFbox教程
无涯教程 - HTML5教程
无涯教程 - 设计模式教程
无涯教程 - WordPress教程
无涯教程 - Go Web 开发秘籍教程