首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >预处理器指令#if和#ifdef之间的区别

问预处理器指令#if和#ifdef之间的区别
EN

Stack Overflow用户
提问于 2010-09-27 18:34:14
回答 2查看 24.7K关注 0票数 60

下面两个预处理器控制语句之间的区别(如果有)是什么?

代码语言:javascript
复制
#if

和

代码语言:javascript
复制
#ifdef
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-27 18:50:34

您可以通过执行以下操作来演示差异:

代码语言:javascript
复制
#define FOO 0
#if FOO
  // won't compile this
#endif
#ifdef FOO
  // will compile this
#endif

#if检查符号的值,而#ifdef检查符号是否存在(无论其值如何)。

票数 125
EN

Stack Overflow用户

发布于 2010-09-27 18:35:22

代码语言:javascript
复制
#ifdef FOO

是以下各项的快捷方式:

代码语言:javascript
复制
#if defined(FOO)

#if还可以用于其他测试或更复杂的预处理器条件。

代码语言:javascript
复制
#if defined(FOO) || defined(BAR)
票数 40
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3802988

复制
相关文章

相似问题

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