#define XX在C中有什么作用?

Mohsen Nosratinia

LLVM项目源代码中stdbool.h,其内容为:

/* Don't define bool, true, and false in C++, except as a GNU extension. */
#ifndef __cplusplus
#define bool _Bool
#define true 1
#define false 0
#elif defined(__GNUC__) && !defined(__STRICT_ANSI__)
/* Define _Bool, bool, false, true as a GNU extension. */
#define _Bool bool
#define bool  bool
#define false false
#define true  true
#endif

在最后4行中,有from的3行#define X X为什么要这么做?有什么区别?这是不是力编译器只需更换,也就是说,truetrue

马丁·史洛特(Martin Schlott)

我能想到的唯一原因是,这样的预处理程序语句

#ifdef bool
// do some stuff or define bool
#endif

在其他C文件中,之后将正常工作,并且不尝试以其他方式重新定义bool

#define bool int

这会干扰第一个定义

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

没有参数的#define指令有什么作用?

来自分类Dev

与“ #define xxx yyy”(有值)相比,“#define xxx”(无值!)有什么作用?

来自分类Dev

角度是否有#define?

来自分类Dev

#define函数参数c ++

来自分类Dev

#define与const在C ++中

来自分类Dev

C 编程 - #define 函数

来自分类Dev

延迟在c中有什么作用?

来自分类Dev

这个简单的#define C代码有什么问题?

来自分类Dev

#define到底有什么用?

来自分类Dev

#define到底有什么用?

来自分类Dev

使用#define声明常量有什么好处?

来自分类Dev

#define在c ++中主要用于什么?

来自分类Dev

C ++ #ifndef令牌#define令牌

来自分类Dev

如何理解C中的#define

来自分类Dev

C ++ #ifndef令牌#define令牌

来自分类Dev

在C中的新#define中使用先前定义的#define

来自分类Dev

#define var 在另一个#define C 中

来自分类Dev

为什么此define指令似乎不起作用?

来自分类Dev

为什么#define在for循环中不起作用?

来自分类Dev

为什么我的define_method不起作用?

来自分类Dev

在C语言中将#define值用作函数参数-为什么起作用?

来自分类Dev

“./”在href中有什么作用?

来自分类Dev

独立大括号在Objective-C中有什么作用

来自分类Dev

Dispose方法在C#中有什么作用?

来自分类Dev

了解#define用法中的副作用

来自分类Dev

#.ch文件中的#define不起作用

来自分类Dev

#define和创建普通类型有什么区别?

来自分类Dev

为什么有人使用define(['jquery'...], function($...){...}

来自分类Dev

FunctionDefHelper :: Create和FunctionDefHelper :: Define有什么区别?