编译过程
预处理:处理所有以#开头的代码,包括头文件,宏定义,条件编译
gcc -E hello.c -o hello.i
编译:语法检查以及将C语言变成汇编语言
gcc -S hello.i -o hello.s
汇编:将汇编语言变成二进制文件
gcc -c hello.s -o hello.o
链接:链接代码需要用到的其他文件(库文件等)
gcc hello.o -o hello
动态编译 静态编译
动态库 静态库
预处理:处理所有以#开头的代码,包括头文件,宏定义,条件编译
gcc -E hello.c -o hello.i
编译:语法检查以及将C语言变成汇编语言
gcc -S hello.i -o hello.s
汇编:将汇编语言变成二进制文件
gcc -c hello.s -o hello.o
链接:链接代码需要用到的其他文件(库文件等)
gcc hello.o -o hello
动态编译 静态编译
动态库 静态库