国嵌嵌入式实验手册第5讲:Makfile编译C程序

需积分: 3 2 下载量 148 浏览量 更新于2024-07-27 收藏 9.84MB PDF 举报
本资源是《国嵌嵌入式实验手册5》的一部分,专为嵌入式系统初学者设计。该实验涉及的是一个基础的C语言编程实践,主要目标是通过使用Makefile来管理和编译一个包含两个文件(fun.c和main.c)的简单程序。实验的具体内容如下: 1. **实验目标**:学习如何编写并使用Makefile,这是一种自动化构建工具,用于管理源代码文件之间的依赖关系,确保当一个文件被修改时,相关的编译步骤会自动进行。在这个实验中,你需要编写一个简单的应用程序,它由两个C文件组成,fun.c负责函数定义,而main.c负责调用这些函数并显示结果。 2. **实验要求**:你需要实现一个应用程序,该程序至少有两个功能:一个在fun.c中定义,另一个在main.c中调用。程序应能正确编译,生成可执行文件,并能在运行时展示预期的结果。这包括使用gcc编译器将源代码链接成一个可执行文件,如main。 3. **实验环境**:所需软件是安装了RHEL5的虚拟机,以及一台PC机。在虚拟环境中,你需要使用vim编辑器编写C文件,以及Makefile来组织编译过程。 4. **实验步骤**: - **步骤1**:使用vim编辑器创建fun.c和main.c文件,分别定义函数和主程序入口。 - **步骤2**:使用gcc编译命令`gcc fun.c main.c -o main`,将源文件编译成可执行文件main。 - **步骤3**:运行生成的可执行文件,验证程序是否按预期工作。 - **步骤4**:在Makefile中编写规则,如`all: main`,定义编译目标为main可执行文件,`clean:; rm -f *.o main`用于清理临时文件。 - **步骤5**:通过运行`make`命令来自动化编译过程,这展示了Makefile在项目管理中的作用。 5. **Makefile编写示例**:Makefile的内容指导了编译过程,例如指定编译器、链接器选项以及依赖关系。`main: fun.c main.c`表示main.o依赖于fun.c和main.c,`gcc -o main fun.c main.o`是实际的编译命令。 整个实验着重于实践嵌入式开发的基础技能,即理解文件结构、依赖管理和使用构建工具。这对于任何想要进入嵌入式领域的人来说,都是一个宝贵的学习机会,有助于提升C语言编程能力和对构建流程的理解。