1、g++ -E 单独执行待编译阶段,eg :g++ -E src.cpp > out.cpp 可查看里面的out.cpp待编译内容。
2、nm -C 将低级符号名解码(demangle)成用户级名字, eg:nm -C out.o,可以更容易的查看里面的目标问题内容。
3、宏简单的替换,看如下代码:
#define test(a,b) a * b
int main()
{
int n = 10;
test(int , a) = &n; //int * a = &n;
return 0;
}
4、简单的log系统制作
int flag =1;
#define LOG (frm, args...)
do {
if( flag ==0) break;
printf("[%s : %s : %d] ", __FILE__, __func__, __LINE__) //左右双下划线
printf(frm, ##args); //##意思是参数列表可以为空,并且支持将前后内容粘贴到一起。
}while(0);
此过程可以通过1的g++ -E待编译执行过程进行查看。
5、编译过程中定义宏
g++ -DHONG out.cpp // D代表define HONG代表define 的宏。