C语言编译过程
编译过程主要分为四步:预处理、编译、汇编、链接
预处理:主要用于查找头文件、展开宏
编译:把.i文件编译成.s文件
汇编:把.s文件汇编为.o文件
链接:把多个.o文件链接成一个app
以上四个步骤主要由3个命令实现,cll、as、collect2,这三个命令由一个命令触发:gcc -o hello hello.c
查看具体的编译步骤,可加参数-v查看
gcc代码选项
在使用gcc命令时可以通过添加选项实现多种功能
库分为静态库(a文件)和动态库(so文件),其中静态库表示将主函数和库打包在一起,会比较大,而动态库只是告诉主函数库在哪里,不进行一起打包,会比较小。
静态库:ar crs libsub.a sub.o
动态库:gcc -shared -o libsub.so sub.o