1、条件预处理
在发行版本中有些调试用到的东西不愿意被使用者看到,但又不能因此编写两套程序代码。此时就可以使用条件预处理来实现,具体如下代码所示:
/*************************************************************************
> File Name: newpro.c
> Author: 171040035
> Mail: 171040035@hdu.edu.cn
> Created Time: 2018年08月30日 星期四 15时32分26秒
************************************************************************/
#include<stdio.h>
int main(){
#ifdef Debug
printf("========%s==========\n",__FILE__);
#endif
printf("Nice to see you baby!@@ " "----from %s %s %d\n",__FUNCTION__,__FILE__,__LINE__);
//printf("the %s %s ,%d \n",__FUNCTION__,__FILE__,__LINE__);
return 0;
}
ubuntu@ubuntu-virtual-machine:~$ gcc -o newpro newpro.c
ubuntu@ubuntu-virtual-machine:~$ ./newpro
Nice to see you baby!@@ ----from main newpro.c 14
开发者调试可可使用 gcc -D+调试宏 -o 目标文件 源文件
ubuntu@ubuntu-virtual-machine:~$ gcc -DDebug -o newpro newpro.c
ubuntu@ubuntu-virtual-machine:~$ ./newpro
========newpro.c==========
Nice to see you baby!@@ ----from main newpro.c 13
2.宏展开下的#、##
# 字符串化(字符常量化)
## 连接符号
#define ABC(x) #x // ABC(a) = ‘a’
#define ABC(x) day##x // ABC(01)= day01