2022-04-26 17:21:56 +08:00
|
|
|
|
# Auto Pilot Bus
|
|
|
|
|
|
|
|
|
|
## 项目简介
|
|
|
|
|
|
|
|
|
|
北京邮电大学计算机学院2021级《计算导论与程序设计》实践大作业项目仓库。
|
|
|
|
|
|
|
|
|
|
在指定的公交车行驶模型下,实现指定的算法以实现对于公交车的自动调度。
|
|
|
|
|
|
2022-04-26 19:55:44 +08:00
|
|
|
|
## 项目使用
|
|
|
|
|
|
|
|
|
|
### 项目结构
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
auto_pilot_bus
|
|
|
|
|
|
|
2022-06-10 19:31:21 +08:00
|
|
|
|
+-all_test //本地测试文件夹
|
|
|
|
|
|
|
2022-04-29 13:11:20 +08:00
|
|
|
|
+-docs // 文档文件夹
|
|
|
|
|
|
|
2022-04-26 19:55:44 +08:00
|
|
|
|
+-include // 头文件文件夹
|
|
|
|
|
|
|
2022-05-06 11:55:30 +08:00
|
|
|
|
+-src // 源代码文件夹
|
2022-04-26 19:55:44 +08:00
|
|
|
|
|
|
2022-06-10 19:31:21 +08:00
|
|
|
|
+-test //单元测试文件夹
|
|
|
|
|
|
|
2022-04-29 13:11:20 +08:00
|
|
|
|
+-main.c // 程序入口
|
2022-06-10 19:31:21 +08:00
|
|
|
|
+-convert.py //产生测试集的Python脚本
|
|
|
|
|
+-main.py //将C代码合并到同一个文件的Python脚本
|
2022-04-26 19:55:44 +08:00
|
|
|
|
+-CMakeLists.txt // CMake文件
|
|
|
|
|
+-.gitignore //git的忽略文件名录
|
|
|
|
|
+-README.md // 项目介绍文件
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 编译环境
|
|
|
|
|
|
|
|
|
|
- 编译器 `MinGW-W64 gcc 8.1.0`
|
|
|
|
|
- 编译工具 `cmake 3.23.1`
|
|
|
|
|
|
|
|
|
|
### 项目使用
|
|
|
|
|
|
|
|
|
|
处在校园网环境在
|
|
|
|
|
|
|
|
|
|
> 参考信息化中心的这篇[文章](https://nic.bupt.edu.cn/info/1016/1301.htm)安装VPN客户端
|
|
|
|
|
|
|
|
|
|
使用
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
git clone http://10.3.255.244:8801/2021211180/2021211180.git
|
|
|
|
|
```
|
|
|
|
|
|
2022-06-10 19:31:21 +08:00
|
|
|
|
下载仓库,在下载过程中可能提示输入账号和密码认证,账号即为你的学号,密码就是你登录`GitLab`时输入的密码。
|
2022-04-26 19:55:44 +08:00
|
|
|
|
|
|
|
|
|
下载完成后文件夹`2021211180`即为项目的文件夹。
|
|
|
|
|
|
|
|
|
|
使用
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
cd 20212111180
|
|
|
|
|
mkdir build # 创建编译的文件夹
|
|
|
|
|
cd build
|
2022-05-09 09:44:58 +08:00
|
|
|
|
cmake .. -G "MinGW Makefiles" # 在第一次生成之后就不必再使用"-G"参数指定编译类型
|
2022-04-26 19:55:44 +08:00
|
|
|
|
cmake --build .
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
在编译执行完成之后,`build`文件下的`bus.exe`即为编译产生的程序。
|
2022-06-10 19:31:21 +08:00
|
|
|
|
|
|
|
|
|
## 项目测试
|
|
|
|
|
|
|
|
|
|
### 单元测试
|
|
|
|
|
|
|
|
|
|
在编译之后,`build/test`文件夹内即为`google test`框架生成的单元测试。
|
|
|
|
|
|
|
|
|
|
### 本地测试
|
|
|
|
|
|
|
|
|
|
在编译之后,`build/all_test`内的`bus_all_test.exe`就是全局本地测试程序。
|
|
|
|
|
|
|
|
|
|
运行这个程序,根据程序的提示选择适当的测试集,程序会自动读取选定的测试集中的配置文件和输入文件,并且将程序的输出和测试集中的输出文件进行对比,输出比对的结果。
|
|
|
|
|
|
|
|
|
|
程序现有的测试集存储在`all_test/test_cases`下面,目前已有18个测试集,对应测试集采用的调度策略可以查看测试集中的配置文件。
|