如何将多个C文件链接在一起----Makefile编写及make指令

时间:2023-03-09 08:36:11
如何将多个C文件链接在一起----Makefile编写及make指令

需使用GCC编译器,关于MinGW的安装指南:https://people.eng.unimelb.edu.au/ammoffat/teaching/20005/Install-MinGW.pdf


单个.c文件且没有使用自定义头文件的编译,在命令行:

• gcc -o programName program.c

-o后紧跟生成程序名

其余常用选项:

-Wall      显示全部警告信息

-g        产生带调试信息的编译后目标代码,供调试器(如gdb使用)

-c    仅编译

• make program                   默认和.c同名,使用.c的名字

如果在.c文件中使用了自定义头文件,要将多个.c和.h文件组合生成程序则要使用Makefile,然后在命令行使用make命令。

Makefile编写:

1. 创建名为Makefile的文件(没有后缀名),放在和程序一个文件夹。

2. 对Makefile文件进行编写。

例子:P3.1.c中用到了bst.h

bst.c中用到了bst.h, llqueue.h

llqueue.h中用到了llqueue.h

P3.1:llqueue.o P3.1.o bst.o

gcc -Wall -o P3.1 P3.1.o bst.o llqueue.o -g

P3.1.o:bst.h P3.1.c

gcc -Wall -c P3.1.c -g

bst.o:bst.c bst.h llqueue.h

gcc -Wall -c bst.c -g

llqueue.o:llqueue.c llqueue.h

gcc -Wall -c llqueue.c -g

注意gcc前是Tab间隔,不是空格间隔。

每个 : 后的顺序可变。

如果上传到学校unix上显示permission denied

使用命令chmod 777 文件名