CMU15445 lab个人笔记

前言

早就想做15445(fall 2020)的lab了,鸽到了现在,赶紧做一下,写一点自己做的时候遇到的坑什么的,记录一下。因为教授禁止上传自己的代码到public,所以本文基本不会出现作业代码内容,只是写一些做的时候遇到的事情,做备忘用(写不写还另说呢)。

参考链接

作业官网

Project 0. C++ Primer

作业链接
p0就是一个C++水平测试,很简单。
先配置环境,官方建议的是使用Ubuntu(20+)、MacOS,不推荐使用WSL,不过我就要硬着头皮上(),以后出了问题再说吧。以下流程大体来自官方文档

创建一个私有库
CMU15445 lab个人笔记_第1张图片

git clone --bare https://github.com/cmu-db/bustub.git bustub-public
cd bustub-public
git push [email protected]:JMC2002/CMU15445.git master # 记得换成你自己的!

删除本地克隆,拉取自己的

cd ..
rm -rf bustub-public
git clone [email protected]:JMC2002/CMU15445.git # 记得换成你自己的!

CMU15445 lab个人笔记_第2张图片
这一步其实是用来更新官方文件的,但是这都是三年前的lab了,其实不太会有更新,还是做上吧。

git remote add public https://github.com/cmu-db/bustub.git

在这里插入图片描述
检查一下是否添加成功

git remote -v

CMU15445 lab个人笔记_第3张图片
然后是build
安装包

sudo build_support/packages.sh

注意,这里不出意外的话会有点问题,会报错找不到clang-14包,我们这样做:

wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo vi /etc/apt/sources.list

把下面的东西添加进去,下方来源

deb http://apt.llvm.org/focal/ llvm-toolchain-focal main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal main
# 14
deb http://apt.llvm.org/focal/ llvm-toolchain-focal-14 main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-14 main
# 15
deb http://apt.llvm.org/focal/ llvm-toolchain-focal-15 main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-15 main
# 16
deb http://apt.llvm.org/focal/ llvm-toolchain-focal-16 main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-16 main
sudo apt update
sudo apt-get install clang-format clang-tidy clang-tools clang
sudo apt-get purge clang-10 # 卸载老版本,按你自己的实际情况选择参数
sudo apt-get purge libclang-10-dev

查看当前clang版本(本课程实际上使用的是clang14)

clang -v

CMU15445 lab个人笔记_第4张图片
修改一下Cmake,不然不出意外会抛一个warning:"!! We recommend that you use clang-12 for developing BusTub. You're using xxx, which is not clang."。这个其实应该没啥事,不过看着不爽。字符串里填的是你自己clang的安装地址。

set(CMAKE_C_COMPILER "/usr/bin/clang")
set(CMAKE_CXX_COMPILER "/usr/bin/clang++")
mkdir build
cd build
cmake ..
make -j 4 # 加速

在等编译的时候,可以先去gradescope注册个号,点击右上角Sign Up
CMU15445 lab个人笔记_第5张图片Student
CMU15445 lab个人笔记_第6张图片
课程号填PXWVR5,学校填Carnegie Mellon University,填好其他信息及邮件,会给你的邮箱发送一封设置密码的邮件,密码要求最短12位。
CMU15445 lab个人笔记_第7张图片
成功登录后可以看到已经加入成功了。
CMU15445 lab个人笔记_第8张图片

这个时候我们发现已经编译完了
CMU15445 lab个人笔记_第9张图片

测试

cd build
make check-tests

这是测试全部的,注意看官方文档,这一步应该会报挺多错。
CMU15445 lab个人笔记_第10张图片
然后也可以执行单个测试:

OK,WSL上的环境就配置得差不多了。

你可能感兴趣的:(CS15445,c++,数据库)