编译的4步骤:
gcc test.c -o test
1、预处理:
(1)把宏定义替换入代码
(2)解析头文件
(3)条件编译:
#if 1 #else #endif
#ifdef HELLO #else #endif
(4)去掉注释代码
gcc -E test.c -o test.i
2、编译:
检查语法错误,把.c文件翻译成汇编语言
gcc -S test.i -o test.s
3、汇编:
把汇编语言翻译成机器语言(二进制)
gcc -c test.s -o test.o
4、链接:
链接要用到的动态库
gcc test.o -o test–》可执行二进制文件
条件编译:选择是否编译
(1)#if 1 #else #endif
#if 后面为真,则把#if 和#else里面的语句编译进入代码
否则就把#else 和#endif里面的语句编译进入代码
(2)#ifdef HELLO #else #endif
#ifdef 后面的宏定义如果有定义,则把#ifdef 和#else里面的语句编译进入代码
否则就把#else 和#endif里面的语句编译进入代码
也可在编译是加参数-DHELLO,表示有定义该宏定义