我这样定义BOOL头文件可以吗?

u010179812 2013-08-08 09:38:25
C语言我的编译器中没有BOOL头文件,在网上看了一个头文件源码,有点不懂,自己简化一下,不知效果也网上是不是一样的?另外对网上的源码不懂的地方也想问一问。

我的写法是:
#ifndef STDBOOL_H_
#define STDBOOL_H_

#define bool _BOOL
#define true 1
#define false 0

#endif


网上的源码为:我的疑问用中文表达了,请帮忙解答一下。

#ifndef _STDBOOL_H
#define _STDBOOL_H

#ifndef __cplusplus

#define bool _Bool
#define true 1
#define false 0

#else /* __cplusplus */

/* Supporting <stdbool.h> in C++ is a GCC extension. */
#define _Bool //这里为什么后面没有接着赋值
#define bool bool //为什么是赋相同的值,下面两个同问。
#define false false
#define true true

#endif /* __cplusplus */

/* Signal that all the definitions are present. */
#define __bool_true_false_are_defined 1 //此处是什么意思?__bool_true_false_are_defined是什么意思?
#endif /* stdbool.h */

...全文
330 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
u010179812 2013-08-09
  • 打赏
  • 举报
回复
谢谢大家的帮忙。
u010179812 2013-08-08
  • 打赏
  • 举报
回复
谢谢大家,如果 我想在每个新建的文件或工程中都用到这个bool头文件,放在哪个地方可以每次写程序时只需要像调用stdio.h一样?而不需要每次都要把它先放到工程中。就像给没有行号的编译器增加行号一样,只需要增加某些东西一样,以后就可以直接用了?
mujiok2003 2013-08-08
  • 打赏
  • 举报
回复

typedef int                 BOOL;

#ifndef FALSE
#define FALSE               0
#endif

#ifndef TRUE
#define TRUE                1
#endif
mujiok2003 2013-08-08
  • 打赏
  • 举报
回复
http://www.cplusplus.com/reference/cstdbool/
u010179812 2013-08-08
  • 打赏
  • 举报
回复
不懂呀。
引用 3 楼 zhao4zhong1 的回复:
编译选项加/EP /P,重新编译,查看宏展开后对应的.i文件。gcc加-E
赵4老师 2013-08-08
  • 打赏
  • 举报
回复
编译选项加/EP /P,重新编译,查看宏展开后对应的.i文件。gcc加-E
super_admi 2013-08-08
  • 打赏
  • 举报
回复
BOOL貌似有三个值?
tsakang 2013-08-08
  • 打赏
  • 举报
回复
代码中的英文注释已经说明为什么
max_min_ 2013-08-08
  • 打赏
  • 举报
回复


define 只是做 等价 替换 不会作任何检查的!

AnYidan 2013-08-08
  • 打赏
  • 举报
回复
为了便于不同环境间的移植
  • 打赏
  • 举报
回复
看一下boost库,怎么搞的
cfvmario 2013-08-08
  • 打赏
  • 举报
回复
因为c++已经有了bool,判断是c++环境就直接用系统的呗 ps: c太害人了,现在经常在c#下随手敲下while(1)一看编译器报错了才改过来
vnvlyp 2013-08-08
  • 打赏
  • 举报
回复
引用 7 楼 u010179812 的回复:
谢谢大家,如果 我想在每个新建的文件或工程中都用到这个bool头文件,放在哪个地方可以每次写程序时只需要像调用stdio.h一样?而不需要每次都要把它先放到工程中。就像给没有行号的编译器增加行号一样,只需要增加某些东西一样,以后就可以直接用了?
放到include文件夹下吧,比如Linux /usr/include/ 比如VC C:\Program Files\Microsoft Visual Studio\VC98\Include\

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧