关于#if defined和#ifdef

灵者皆舞 2014-10-13 11:12:11
查阅了相关资料,这两个应该是没有什么区别的,#if defined应用范围更广。
使用过程中发现,
1)在头文件中,使用#ifdef xxxxx,发现生效,而使用#if defined(xxxx)则可以
2)在.c文件中,使用两者没有区别。

谁清楚这其中的原理呢?xxxxx的定义是在工程中的。
...全文
303 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2014-10-13
  • 打赏
  • 举报
回复
参考gcc源代码中实现这两个条件编译指令的源代码相关片断。
版主大哥 2014-10-13
  • 打赏
  • 举报
回复

#ifdef _ABC_
//...
#else
//...
#endif

//或者
#ifndef _ABC_
#define _ABC_

#endif
貌似用的多都是在防止文件的重复包含
LouisScola 2014-10-13
  • 打赏
  • 举报
回复
引用 3 楼 xpdavis 的回复:
#if defined后面还可以加上其它的defined #ifdef 只能有一个
here you go
铖邑 2014-10-13
  • 打赏
  • 举报
回复
#if defined后面还可以加上其它的defined #ifdef 只能有一个

70,020

社区成员

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

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