Linux 用Makefile编译C代码

在Linux里写C语言代码一般用gcc编译,如果是一些小的程序可以使用gcc命令编译,但是当我们写一个大的项目的时候,我们总会把头文件,主函数,子函数等分别放到一个文件里,这样可以让代码看起来没有那么长,在排错的时候会更方便一点。可是问题又来了,那么多文件,如果每一个文件都要用gcc -c text.c -o text.o来编译又太过于麻烦,尤其是在每一次排错后重新编译的时候让人有一种崩溃的感觉,所以这个时候用Makefile来编译 .C程序的时候就会方便很多。

在这篇文章里以实现strcmp函数功能作为例子:

先写test.h文件:

Linux 用Makefile编译C代码

main函数文件:

Linux 用Makefile编译C代码

Cmp函数文件:

Linux 用Makefile编译C代码

最后要写Makefile文件:

Linux 用Makefile编译C代码

这里因为这个例子程序还是比较短所以直接以文件名来写命令,在以后的大项目中可以用宏定义的方式替换这些文件名,这样在修改的时候会提供很大的便利。

这个时候在这个文件所在的目录下只要输入 make 命令就可以顺利编译,如果要修改的时候,只要 make clean 就可以将编译后的文件都删除,如果目录中本来就已经存在clean文件的时候,我们可以用

.PHONY:clean

clean:

rm -rf *.o test

就可以让编译器只识别Makefile中的clean命令。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/9164a3f33629dc0b2fea9206e1c9223e.html