
linux编程基础 makefile 作业一.docx
5星
- 浏览量: 0
- 大小:None
- 文件类型:DOCX
简介:
在Linux编程环境中,`Makefile`是一个核心工具,负责自动化编译、链接和执行过程,从而显著提升了项目管理效率。本实验报告深入分析了`Makefile`的基础应用,并通过两个具体案例详细阐述其编写规范与功能作用。作业一是关于编写一个较为简单的C程序。该C程序由以下三个源文件构成:`init.c`、`io.c`及`compute.c`。此Makefile旨在规范对编写的所有C程序进行编译操作。现对此Makefile作如下分析:目标`init$是一个最终的可执行文件,它是通过链接`init.o`, `io.o`和`compute.o`生成的。其遵循以下规则:源文件.o是基于相应的.c文件以及头文件myprogram.h开发的。例如,在初始化阶段,.o文件遵循特定的构建规则:
init.o:init.c myprogram.h
gcc -c init.c
其他类似的.0文件(如io.o和compute.o)遵循相同的构建流程。这个clean功能负责处理由编译生成的一系列临时文件,包括.o扩展名的文件以及init目录。command responsible for deleting
改写后的文本可执行文件`testTriangle`的构建方式如下所示:代码片段如次:
g++ -o testTriangle testTriangle.o triangle.o point.o
各个`.o`文件按照类似于作业一的方式生成,但采用了g++进行编译而不是gcc:
首先生成testTriangle.o文件时,
执行以下命令:g++ -c testTriangle.cpp;
随后生成triangle.o文件时,
执行以下指令:g++ -c triangle.cpp;
最后处理point.o的编译过程,
同样使用g++完成:g++ -c point.cpp。
清理目标 `clean`:通过 `delete` 命令清除所有 `.o` 和 `testTriangle` 文件。
实验总结部分着重提到了两个关键点。在使用`rm -rf *.o xxx`时要小心谨慎,因为 `-rf`选项会导致所有选定文件被完全删除,无需确认操作,这可能使得重要文件无法恢复。在编辑C++源文件时,必须使用`g++`编译器,因为它能够正确地解析和处理C++特有的语法特征。通过`make clean`命令能够有效地清除在编译过程中生成的.o文件,并使工作目录保持整洁状态。通过完成这两项实践,我们能够掌握`Makefile`的基本框架和工作原理,并灵活配置编译指令。这些实践则为我们后续进行更复杂的项目管理和高效的代码集成提供了坚实的基础。
全部评论 (0)


