Chinaunix首页 | 论坛 | 博客
  • 博客访问: 117787
  • 博文数量: 42
  • 博客积分: 916
  • 博客等级: 准尉
  • 技术积分: 420
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-16 10:01
文章分类

全部博文(42)

文章存档

2011年(42)

分类: C/C++

2011-07-31 11:34:07

今天写程序看到基础库里面有这样一段代码
  1. #if 0
  2. ...//这里是一些代码
  3. #endif
google了一下才知道嵌套注释这个东西。下面是转载过来的内容:

/*.....*/,这个符号是C语言里的注释符,注释符之间的内容是方便人们读程序而写的,是给人看的,以增加程序的可读性,对编译和运行不器作用。注释可以在程序的任何位置。
     c语言是由函数组成的,C拥有十分丰富的函数库,因此C很容易实现模块化。一个大的程序可以分成若干个模块进行编写,为了更好的调试目前正在编写的程序模 块,可以将那些已经编好的部分先注释掉;或者在编写程序的时候发现某个模块是多余的,也可以直接将其注释掉。
    这样问题就出来了,当需要注释掉一大段程序的时候,仍用这个注释符( /*.....*/)好不好呢?我问过很多人,都说这样不好。因为,如果那段要注释的程序中已经有地方用这个注释符注释过的话,那么再这样注释就可能会出 问题。有些编译器在检测到“/*”会寻找最近的“*/”与其结合,
   如:/*abc/*def*/ghi*/,编译器很可能会认为注释到了 /*abc/*def*/ 就结束了,而剩下的ghi*/这部分在程序中,显然会使编译无法进行下去。因此需要用其他方法进行注释,以使不会出现这种意想不到的错误。
    C语言中有
  1. #if 0
  2. #endif//这样的语句可以完成这个任务。

   所以在注释(其实是条件编译,0为参数)大段程序的时候,如果使用以上语句就不会影响程序的编译和移植了,如:
      
  1. #if 0
  2.   、
  3.   、
  4.   /*..........*/
  5.   、
  6.   、
  7.   /*..........*/
  8.   、
  9.   、
  10. #endif
阅读(1157) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~