1. vim使用
参考博客 3-5 章:
vim使用
2. gcc编译链接
参考博客的前两章:
gcc编译链接部分
3.静态链接和动态链接
3.1 静态库链接
1:将各个库对应的.c/.cpp源文件编译为.o文件
2:用ar rcs 将.o文件链接为.a文件
3:把头文件和.a文件一起发给用户,用户可以通过自己编写main函数调用库(把main.c编译为.o文件)
3.2 动态库链接
1:用-fpic -shared代替-c将源文件编译为.so文件
gcc -fpic -shared 众多源文件名 -o 动态链接库名
2: gcc main.c libmymath.so -o main.exe
参考博客:
静态库动态库链接
4.makefile
通过编写吗,makefile执行自动编译链接
targets: prerequisites
command
targets:规则的目标,可以是 Object File(一般称它为中间文件),也可以是可执行文件,还可以是一个标签;
prerequisites:是我们的依赖文件,要生成 targets 需要的文件或者是目标。可以是多个,也可以是没有;
command:make 需要执行的命令(任意的 shell 命令)。可以有多条命令,每一条命令占一行。
4.1引入变量OBJS
4.2 引入自动变量
4.3 引入模式规则
4.4 引入函数和伪目标
伪目标: