5 为上题中的C语言程序,编写makefile文件,然后使用makefile进行编译执行
时间: 2023-06-18 12:08:54 浏览: 134
假设我们的C语言程序文件名为`main.c`,编译生成的可执行文件名为`main`,下面是一个对应的`makefile`文件:
```
CC = gcc
CFLAGS = -Wall -Wextra -Werror
main: main.c
$(CC) $(CFLAGS) -o main main.c
clean:
rm -f main
```
解释一下上面的`makefile`:
- `CC`定义了编译器的名称,我们这里使用了`gcc`;
- `CFLAGS`定义了编译选项,这里使用了一些常见的选项,如`-Wall`表示开启所有警告,`-Wextra`表示开启额外的警告,`-Werror`表示将警告视为错误;
- `main`是我们要生成的可执行文件名,它依赖于`main.c`这个源代码文件;
- 下面一行是具体的编译命令,使用`$(CC)`和`$(CFLAGS)`变量来表示编译器和编译选项;
- 最后是一个`clean`目标,用于清除生成的可执行文件,方便下次重新编译。
在`makefile`所在的目录下,执行`make`命令即可进行编译:
```
$ make
gcc -Wall -Wextra -Werror -o main main.c
```
如果一切正常,就会生成一个名为`main`的可执行文件。最后,执行`make clean`命令可以清除生成的可执行文件:
```
$ make clean
rm -f main
```
阅读全文