实验要求与检查
1. 实验项目
本次实验要求你完成一个简单的 C 项目,作用是读取并计算一个整数的阶乘。
最终需包含以下文件结构:
Lab2_Project/
├── .git/ # 执行 git init 后生成
├── .gitignore # 过滤编译产物
├── PB25XXXXXXX-张三.pdf # 实验报告(PDF格式)
├── Makefile # 任务一产物
├── CMakeLists.txt # 任务二产物
├── include/
│ └── math_utils.h # 函数声明
├── src/
│ ├── math_utils.c # 函数实现
│ └── main.c # 程序入口
└── build/ # 任务二构建目录(不进入 Git)按照以下代码逻辑进行编写:
include/math_utils.h: 声明一个函数int factorial(int n);(计算阶乘)。src/math_utils.c: 实现factorial函数(建议使用递归或循环)。src/main.c: 在main函数中读取用户输入,调用factorial并输出结果。
2. 实验任务
任务一:版本管理 (Git & Gitee)
- 本地管理:使用
git init初始化,配置好.gitignore。 - 记录足迹:开发过程中至少进行 3 次以上 提交。
- 云端备份:在 Gitee 创建公开仓库,将本地代码
push到云端。
任务二:手动构建 (Make)
在根目录下编写一个 Makefile,要求实现 make(生成可执行文件)和 make clean(清除 .o 和生成的程序)。
任务三:现代构建 (CMake)
在根目录下编写 CMakeLists.txt,要求:
- 使用
target_include_directories指定头文件路径。 - 使用 外部构建 (Out-of-source Build) 流程,在
build/文件夹内生成 Makefile 并编译。
3. 提交物与验收标准
实验报告需包含以下截图:
- Make 编译图:展示执行
make生成程序以及执行make clean清理产物的过程。 - CMake 编译图:展示在
build/目录下执行cmake ..和make的过程。 - Git 历史图:执行
git log --oneline --graph --all,展示你不少于 3 次的提交记录。 - Gitee 主页图:展示你的云端仓库页面,确认代码已同步。
提交包含以上目录结构的压缩包(如 PB25XXXXXXX-张三.zip)到BB平台。
(压缩包内需包含以上除build目录外所有文件:代码、Makefile、CMakeList、装有截图的报告……)