问关于预编译的很菜的问题!

eve0725 2005-05-18 08:56:00
是这样的,在我看到的一些linux下的c程序中,常遇到下面格式的语句:

#if 0
语句1...
语句2...
语句3...
语句4...
..
..
..
..
#endif


按照预编译的命令,#if 后面的表达式的值不为0,则编译下面的程序;
而在这里直接写0,明明不就是跳过这一段,不编译它,为什么还要这样写呢?

请高手解释一下,谢谢!!!
...全文
54 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
eve0725 2005-05-19
  • 打赏
  • 举报
回复
谢谢各位,现在明白了;

要结贴了!
qfxx 2005-05-19
  • 打赏
  • 举报
回复
#if 0
#endif
相当于块注释
growup 2005-05-19
  • 打赏
  • 举报
回复

还有一个原因,/**/不能嵌套,所以如果代码中已经有/**/就会出错

1、正确
#if 0
...
/* ... */
...
#endif
2、错误
/*
...
/* ... */
...
*/

gaoxianfeng 2005-05-19
  • 打赏
  • 举报
回复
这是一种习惯吧
如果用/**/
那么真的需要这段代码的时候 比较麻烦

如果用#if 0 想要 下面的代码 改成 #if 1 即可
一般作为试探性代码
sharkhuang 2005-05-19
  • 打赏
  • 举报
回复
条件编译 一般用来夸平台
yslaoniu 2005-05-19
  • 打赏
  • 举报
回复
知道了,
是注析,相当于/** ... */
黑客写法
yslaoniu 2005-05-19
  • 打赏
  • 举报
回复
关注。。。

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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