创建一个模块化的 Makefile

CCBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本挑战中,你将学习如何创建一个基本的 Makefile 来编译一个简单的 C 程序。你将了解 Makefile 如何帮助自动化构建过程并管理多个源文件。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/output -.-> lab-438425{{"创建一个模块化的 Makefile"}} end

创建一个基本的 Makefile

在本挑战中,你将创建一个基本的 Makefile 来编译一个简单的 C 程序。该程序由两个源文件组成:hello.cutils.chello.c 文件包含主函数,用于向控制台打印一条消息。utils.c 文件包含一个从主函数调用的工具函数。

任务

  • 创建一个用于编译程序的 Makefile
  • 添加规则以编译两个源文件
  • 添加一个 clean 目标以删除编译生成的文件

要求

  • 使用 ~/project 目录中提供的源文件
  • Makefile 必须编译 hello.cutils.c
  • 创建一个名为 hello 的可执行文件
  • 包含一个 clean 目标
  • 使用 GCC 作为编译器

示例

运行以下命令以编译程序:

cd ~/project
make
gcc -c hello.c
gcc -c utils.c
gcc hello.o utils.o -o hello

运行编译后的程序:

./hello

示例程序输出:

Hello, World!
Utility function called!

运行程序后,清理编译生成的文件。

提示

  • 记住在 Makefile 中使用 TAB 进行缩进
  • 使用 -c 标志将源文件编译为目标文件
  • 编译后测试程序
✨ 查看解决方案并练习

总结

本挑战向你介绍了如何创建基本的 Makefile。你学习了如何编写一个简单的 Makefile 来编译多个源文件、创建可执行文件以及清理构建产物。这些是管理 C 编程项目的基本技能。