基本用途是内嵌注释
/*这是一个外层注释
/*
int a = 1; //这是一个内层代码注释
*/
a++;
*/
上面的程序编译后发现缺少了一个注释符号,因为注释符头 " / * "是根据最近结束符 " */ "来判断注释的区域的,但是一但内嵌了就会发现错误。所以人们就使用了#if 0
在有些地方很常见到它,而且少不了它。当你见识过系统级的源代码就焕然大悟了。对,就是用于系统裁剪。
系统裁剪是针对系统的用途,对系统的源代码进行一下优化,减少不必要的功能。
#if是一个最经典的例子。如:
#if test
int a = 0;
int b = 10;
#endif
如上面的例子,对于某些功能不需要,我们只需对于的功能test的宏定义改成0,然后重新编译就行了。当然一般宏定义是放在一个特定的文件(这里为了简单就写在一起),这样外面的人只需要更改那个文件所对应的值就行对系统进行裁剪而不需要关心具体代码,就行实现裁剪。