本文的开发环境为:
Ubuntu 16.04
GNU Make 4.1
HelloWorld
新建一个hello.c文件:
#include <stdio.h>
int main(int argc, char *argv[]){
printf("%s\n","Hello world.");
return 0;
}
这段代码很简单,第一行是引入头文件,然后定义一个main函数,其中main函数的第一个参数是运行时候传入的参数个数,第二个是传入的参数
编译
make ./hello
运行
./hello
如果一切正常的话,命令行就会输出HelloWorld
Makefile
make命令执行时,需要一个Makefile文件,以告诉make命令需要怎么样的去编译和链接程序。那为什么我们上面没有Makefile文件也可以构建呢?那是因为make内置了一些缺省规则,以上的规则大概是这样:
make ./hello
CFLAGS="-Wall" make ./hello
其中的CFLAGS="-Wall" make ./hello这行命令告诉编译器要报告所有的警告。接下来我们自己来写一个Makefile文件。新建一个Makefile文件,写入一下内容:
CFLAGS=-Wall -g
clean:
rm -rf hello
要注意的一点是
rm -rf前面是一个TAB,而不是四个空格。其中-g表示加入调试代码,可以使用GDB进行调试
然后来执行一下命令:
make clean
make ./hello
这时候就可以运行了