很多时候需要对自己写的C/C++函数进行调试,当多个C/C++文件中都有main函数时编译会出错。因此为了解决这问题,可以利用宏定义来对各个文件分别调试。
代码示例(vim test.c):
#include <stdio.h>
void hello() {
printf("Hello, World!\n");
}
int add(int i,int j)
{
return i+j;
}
#ifdef __TEST__
int main(int argc, char *argv[]) {
hello();
return 0;
}
#endif
#ifdef __ADD__
int main(int argc,char *argv[]){
printf("add :%d\n",add(2,4));
}
#endif
当要调试上述源程序文件test.c是用gcc编译如下时:
int main(int argc,char *argv[]){
printf("add :%d\n",add(2,4));
}
#endif
$ gcc -g -D __TEST__ -o test test.c
输出为:Hello, World!
当要调试上述源程序文件test.c是用gcc编译如如下时:
gcc -g -D __ADD__ -o test test.c
其中的-D xxx是定义宏定义。