【CMU15-445数据库】bustub 项目介绍及环境配置

开新坑啦

突然想起来之前一直想做的 CMU 15-445 课程的 2022 Fall 学期开课了,所以决定把 Pintos 项目先放一放,开个新坑跟着 CMU 同步把这个项目做了。

课程网站:CMU 15-445/645 (FALL 2022)

老规矩课程内容就不说了,课程网站的 Schedule 页能找到每节课的 Slides 和 Video(目前还在更新中),直接来看项目。

在这里插入图片描述

简介如上。本项目使用 C++ 编写,标准给到了 C++17,想要完成的话至少要有 C++11 的相关知识(智能指针、右值语义等)。共有 5 个 Project:

在这里插入图片描述
(写本篇博客时最后一个 Project 还未放出)

其中 Project 0 比较简单,主要是测试一下 C++ 的水平。如果读或写起来比较吃力,可能需要再补一些 C++ 的知识。测试方面,项目中已经包含了一组基于 GoogleTest 的自动测试,通过后应提交到 GradeScope 网站,该网站会用一组更详细的用例测试你的程序,使用方法会在下面介绍。项目遵循 Google C++ Style Guide 编写规范,每次代码提交前必须通过 clang tidy 的格式检查,不允许出现 Warning,否则在 GradeScope 上提交评分为 0。

环境配置

课程的 Github 仓库 中已经给出了很详细的配置教程,一定注意本课程明确说明了不要将代码放到 Github 的公共仓库中

在这里插入图片描述
本系列博客我也不会放出完整的 Github 仓库,只会在讲解思路时贴部分关键代码。如有问题欢迎私信交流~

项目要求 Linux 环境,实测使用 WSL2 安装 Ubuntu 20.04 LTS 系统没有任何问题。第一次编译可能比较慢,建议使用 make -j4-j8 参数加速。

如果编译时出现了提示信息(不会报错,在 CMake 输出的所有信息比较靠上的地方):WARNING "!! We recommend that you use clang-12 for developing BusTub. You're using xxx, which is not clang."xxx 的地方可能是 g++ 或其它编译器,说明 CMake 在用那个编译器而非环境配置步骤中已经安装的 clang-12。解决方法是先找到 clang-12 的安装路径(一般在 /usr/bin/ 目录),然后在项目主目录下的 CMakeLists.txt 中加入以下两行:
在这里插入图片描述
(博主不确定用 g++ 会不会有什么问题,但总之消灭 Warning 是好事情)

另外如果任何 sh 脚本或 make 命令运行时提示 xx\r 有问题,是由于 Windows 系统和 Linux 系统的换行符(CRLF 和 LF)不同导致的,可以参考这个回答操作前一定要把所有更改 commit

课程为非 CMU 学生也提供了 GradeScope 评分权限(赞),点击右上角 Sign Up,填入课程码 PXWVR5学校选择 CMU(不是你自己的学校),下面填自己的信息。

在这里插入图片描述
注册成功后可以看到已经自动加入到本课程中了。每个 Project 的 Submission 部分会指引怎么打包代码文件并提交。

在这里插入图片描述
至此配置完成,可以开始愉快的写码了~

猜你喜欢

转载自blog.csdn.net/Altair_alpha/article/details/127546220