gcc
编译的步骤有4步。
1、预处理:处理所有#开头的代码 gcc -E xxx.c -o xxx.i
2、编译:语法检查和把c代码变成汇编代码 gcc -S xxx.i -o xxx.s
3、汇编:把汇编代码变成二进制代码 gcc -c xxx.s -o xxx.o
4、链接:链接需要用到的代码 gcc xxx.o -o xxx
动态编译与静态编译
动态编译:只编译源文件 优点:文件小 缺点:对运行环境有要求
静态编译:把源文件和需要的库文件编译成一个文件 优点:对环境无要求 缺点:文件太大
怎么制造静态库以及静态编译
1、编写 main.c f1.c f2.c
2、把f1.c f2.c变成二进制 gcc -c f1.c f2.c
3、生成静态库 ar -crv libxxx.a f1.o f2.o
4、静态编译 gcc main.c -o main -L . -lxxx-static
怎么制造动态库以及动态编译
1、生成动态库 gcc -fPIC -shared -o libxxx.so
2、动态编译源文件 gcc main.c -o main -dynamic -L . -lxxx
3、把动态库复制到默认目录 cp libxxx.so /usr/lib
4、运行文件 ./main