【C编译】总结 - meiyisicc/WebDataCrawl GitHub Wiki
编译过程
1、选出所有带有.c或者.cpp的文件,都当作要编译的源文件。目标是要把这些源文件都编译出目标文件,一般是.o文件。
2、通过-I指定对应的库文件。一般都是头文件或者静态函数库。库文件就是用来编译目标文件用的,主要是告诉编译器到哪里去找相应的函数声明,这样在源文件里面就可以直接引用,而不是写相对路径。
3、通过lib入参指定库文件,主要是.a的静态数,或者部分动态库。
4、调用gcc编译成目标文件,再把目标文件链接成可执行文件。
MakeFile
1、可以使用vim加makefile的方式快速进行代码编写和编译。在windows上也使用gcc的编译器进行编译。较大的程序建议使用逐成makefile的方式进行编译。可以每次都只编译当前目录下的代码,而不是需要编译整个工程。
2、开始前一定要建立自动化编译脚本,防止后期整改太麻烦。
makefile的编译特点是,先把所有的变量都加载完,最后再根据依赖关系进行执行。makefile总是以第一个依赖关系当作要编译的目标,除非在make命令后面增加指定的名字。然后按照依赖关系依次找要编译的所有文件。
make -f makefile:指定文件进行编译,如果不指定文件,默认使用当前目录下的名称叫Makefile的文件,不区分大小定。
make -C path:跳转到指定的path目录,执行make命令。
%.o:%.c gcc -c -o $@ $<
%号的意思是用来匹配目标的。