首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >stdbool.h在哪里?

stdbool.h在哪里?
EN

Stack Overflow用户
提问于 2009-11-01 18:59:56
回答 6查看 47.1K关注 0票数 23

我希望在我的系统上找到_Bool定义,因此对于缺少它的系统,我可以实现它。我在这里和其他网站上看到过对它的各种定义,但我想检查一下系统中的权威定义。

小问题,因为我找不到定义_Bool的位置,甚至找不到stdbool.h

代码语言:javascript
复制
mussys@debmus:~$ find /usr/include/* -name stdbool.h
/usr/include/c++/4.3/tr1/stdbool.h

/usr/include/*/usr/include/*/*上用于_Boolgrep也找不到它。

那么它在哪里呢?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-11-01 19:06:34

_Bool是一种内置类型,所以不要期望在头文件中找到它的定义,即使是系统头文件。

话虽如此,根据您正在搜索的路径来猜测您的系统,您是否在/usr/lib/gcc/*/*/include中查找过?

我的“真正的”stdbool.h住在那里。不出所料,它的bool to be _Bool。因为_Bool是编译器原生的类型,所以在头文件中没有对它进行定义。

票数 13
EN

Stack Overflow用户

发布于 2009-11-01 19:20:15

作为备注:

在C99中定义了_Bool。如果您使用以下工具构建您的程序:

代码语言:javascript
复制
gcc -std=c99

你可以期待它就在那里。

票数 7
EN

Stack Overflow用户

发布于 2009-11-01 20:31:56

其他人已经回答了关于_Bool位置和查找C99是否被声明的问题……但是,我对每个人自己做的声明并不满意。

为什么不完全定义类型呢?

代码语言:javascript
复制
typedef enum { false, true } bool;
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1656874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档