国嵌全部必修实验手册(第5部分_makefile和应用程序文件).pdf
### 国嵌必修实验手册第五部分:Makefile与应用程序文件 #### 实验目标与要求 本次实验的主要目的是让学生掌握Makefile的编写方法,并通过实际操作加深对编译过程的理解。具体要求是实现一个由两个文件(`fun.c` 和 `main.c`)组成的应用程序,其中`fun.c` 包含函数定义,`main.c` 是主程序入口。通过Makefile自动化编译流程,确保代码的高效构建和维护。 #### 实验环境配置 - **软件环境**:实验需要在安装有Red Hat Enterprise Linux 5 (RHEL5) 的 VMware 虚拟机上进行。 - **硬件需求**:至少配备一台PC机,以承载虚拟机和实验操作。 #### 实验步骤详解 ##### 步骤1:准备源代码文件 - **`fun.c` 文件**:这个文件包含了一个名为`max_first`的函数,用于计算两个整数中的较大值。函数原型在`fun.h`头文件中声明。 - **`main.c` 文件**:这是主程序文件,负责输入两个整数,调用`max_first`函数并打印最大值。 - **`fun.h` 文件**:包含了`max_first`函数的原型声明。 ##### 步骤2:直接编译生成可执行文件 使用GCC编译器直接编译`fun.c` 和 `main.c` 文件,生成可执行文件`main`。编译命令如下: ```bash gcc fun.c main.c -o main ``` 随后可以运行`main`文件查看程序运行结果,验证函数逻辑是否正确。 ##### 步骤3:编写Makefile - **目标规则**:定义了`main`可执行文件的生成依赖于`main.o`和`fun.o`两个对象文件。 - **对象文件规则**:分别指定了`main.o`和`fun.o`的生成依赖及编译命令。 ##### 步骤4:使用Makefile编译 退出编辑器,保存Makefile,在shell中输入`make`命令,此时Makefile将根据定义的规则自动执行编译任务,生成`main`可执行文件。 ##### 步骤5:优化Makefile使用变量 为了增强Makefile的可读性和可维护性,可以引入变量来替代重复的字符串。例如,使用`${CC}`代表编译器路径,`${CFLAGS}`代表编译选项等,这样当需要更改编译器或编译选项时,只需修改变量的定义即可。 ##### 步骤6:利用自动变量 Makefile支持自动变量,如`$@`表示目标文件,`$<`表示第一个依赖项,这些变量可以使Makefile的编写更加简洁且易于理解。例如,`fun.o: fun.c fun.h`规则中的`fun.c`和`fun.h`就可以通过自动变量来表达。 #### 总结 通过本次实验,学生不仅学会了如何使用Makefile来管理项目构建,还深入了解了Makefile的语法和特性,包括变量使用、自动变量以及规则定义等。这对于日后从事嵌入式开发或其他软件工程领域的工作具有重要意义,能够有效提高代码的构建效率和质量。此外,实验还强调了代码组织和模块化编程的重要性,通过将功能分解到不同的源文件中,提高了程序的可读性和可维护性。
剩余19页未读,继续阅读
- 粉丝: 6
- 资源: 34
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助