CMU15445(2023 spring) lab - 环境配置

这篇具有很好参考价值的文章主要介绍了CMU15445(2023 spring) lab - 环境配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

系列笔记

环境配置
Project 0. C++ Primer
Project 1. Buffer Pool
Project 2. B+Tree

前言

早就想做15445(fall 2020)的lab了,鸽到了现在,赶紧做一下,写一点自己做的时候遇到的坑什么的,记录一下。因为教授禁止上传自己的代码到public,所以本文基本不会出现作业代码内容,只是写一些做的时候遇到的事情和一些思路,做备忘用(写不写还另说呢)。
然后我其实是想做2020FALL的,后来在做P0的时候发现那个文件(src/include/primer/p0_starter.h)怎么找也找不到,一直耽误了好久,才发现github库更新成2023年的了。,。。。那就将就着做2023 Spring吧

参考链接

课程官网(2023,废)
课程官网

环境配置

先配置环境,官方建议的是使用Ubuntu(20+)、MacOS,不推荐使用WSL,不过我就要硬着头皮上(),以后出了问题再说吧。以下流程大体来自官方文档

创建一个私有库
CMU15445(2023 spring) lab - 环境配置

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

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

cd ..
rm -rf bustub-public
git clone git@github.com:JMC2002/CMU15445.git # 记得换成你自己的!

CMU15445(2023 spring) lab - 环境配置
这一步其实是用来更新官方文件的,但是这都是三年前的lab了,其实不太会有更新,还是做上吧。

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

CMU15445(2023 spring) lab - 环境配置
检查一下是否添加成功

git remote -v

CMU15445(2023 spring) lab - 环境配置
然后是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(2023 spring) lab - 环境配置
修改一下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(2023 spring) lab - 环境配置Student
CMU15445(2023 spring) lab - 环境配置
课程号填PXWVR5(2022 FALL),2KJRB5(2023 SPRING),学校填Carnegie Mellon University,填好其他信息及邮件,会给你的邮箱发送一封设置密码的邮件,密码要求最短12位。这个验证码是专门提供给非CMU学生的,来自FAQ,不得不说国外大学就是好,专门把课给你放出来,还生怕你提交不了作业,啧啧。
CMU15445(2023 spring) lab - 环境配置
成功登录后可以看到已经加入成功了。
CMU15445(2023 spring) lab - 环境配置

这个时候我们发现已经编译完了
CMU15445(2023 spring) lab - 环境配置

测试

cd build
make check-tests

这是测试全部的,注意看官方文档,这一步应该会报挺多错。
CMU15445(2023 spring) lab - 环境配置
然后也可以执行单个测试:
CMU15445(2023 spring) lab - 环境配置
OK,WSL上的环境就配置得差不多了。

然后VS上登录github,克隆自己的那个库,就可以直接编辑了,把clangd、cmake、wsl一系列东西下好,是支持直接校准格式以及调试云云的~ VScode和Clion其实教程多不少。文章来源地址https://www.toymoban.com/news/detail-451921.html

到了这里,关于CMU15445(2023 spring) lab - 环境配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CMU15445 (Fall 2020) 数据库系统 Project#2 - B+ Tree 详解(上篇)

    考虑到 B+ 树较为复杂,CMU15-445 将 B+ 树实验拆成了两部分,这篇博客将介绍 Checkpoint#1、Checkpoint#2 删除操作和迭代器的实现过程,搭配教材 《DataBase System Concepts》食用更佳。 许多查询只涉及文件中的少量记录,例如“找出物理系所有教师”的查询就只涉及教师记录中的一小部

    2024年02月08日
    浏览(33)
  • CS144(2023 Spring)Lab 0:networking warmup(环境搭建 & webget & bytestream)

    最近心情非常郁闷,搓一个CS144玩玩吧,正好2023 spring出新版了。。。CS144的头4个Lab(加上0是5个),一步步实现了一个TCP。在开始之前,我想贴一下Lab中的这句话: The lab documents aren’t “specifications”—meaning they’re not intended to be consumed in a one-way fashion. They’re written closer

    2024年02月11日
    浏览(33)
  • jupyter lab环境配置

    show kernel list remove kernel

    2024年02月13日
    浏览(33)
  • STM32+ESP8266+APP连接阿里云监测环境温湿度系列笔记1:阿里云物联网平台配置及数据上传

            在数据传递过程中阿里云物联网平台相当于服务器,ESP8266为客户端,通过路由器连接服务器时需要在物联网平台创建设备,具体过程如下: 1. 首先 在物联网平台创建公共实例,并点击进入, 图1 2.可见设备接入物联网平台的整体流程如图2中红色方框所示, 接下

    2024年02月04日
    浏览(41)
  • CMU DLSys 课程笔记 1 - Introduction and Logistics

    CMU Deep Learning System,教你如何实现一个深度学习系统。 CS 自学指南课程介绍页面 | 课程主页 本节 Slides | 本节课程视频 目前(2024.01.06)课程在线评测账号和课程论坛的注册时间已经结束,只剩下框架代码里的本地测试供大家调试代码。 CMU DLSys 课程笔记 1 - Introduction and Logi

    2024年02月03日
    浏览(34)
  • CMU DLSys 课程笔记 2 - ML Refresher / Softmax Regression

    本节 Slides | 本节课程视频 这一节课是对机器学习内容的一个复习,以 Softmax Regression 为例讲解一个典型的有监督机器学习案例的整个流程以及其中的各种概念。预期读者应当对机器学习的基本概念有一定的了解。 CMU DLSys 课程笔记 2 - ML Refresher / Softmax Regression 目录 机器学习基

    2024年02月03日
    浏览(28)
  • 《Spring 高手系列》(异步)笔记

    参考链接1 源码 修饰范围:类型 修饰范围:类型、方法。 为什么不报错的原因在这里 AsyncExecutionInterceptor 这个类有一个getDefaultExecutor 首先在容器中找TaskExecutor这个类型的bean如果有就用,没有就会创建一个SimpleAsyncTaskExecutor 想要修复这个错就得自定义一个线程池 修复后输出

    2024年02月10日
    浏览(20)
  • TensorRT环境配置(2023完整版)

    配置TensorRT环境需要配置CUDA、CUDNN、英伟达显卡驱动 安装顺序是先英伟达显卡驱动,CUDA,CUDNN,如果已经安装就可以跳过 可以用命令查询CUDA和英伟达驱动版本,下载对应的CUDNN: 类似这样,如图我的显卡驱动版本为515.65.01,CUDA版本为11.7 安装CUDNN 到官网下载对应CUDA版本的

    2024年02月07日
    浏览(26)
  • Spring Security系列教程之解决Spring Security环境中的跨域问题

    一. 启用Spring Security 的CORS支持 1. 普通的跨域 方式1:在接口方法上利用@CrossOrigin注解解决跨域问题 方式2:通过实现WebMvcConfigurer接口来解决跨域问题 二. Spring Security环境下的跨域问题解决 通过上面的配置,我们已经解决了Ajax的跨域请求问题,但是这个案例中也有潜在的威胁

    2024年02月05日
    浏览(32)
  • Spring Boot 系列2 -- 配置文件

    目录 1. 配置文件的作用 2. 配置文件的格式 3. properties 配置文件说明 3.1 properties 基本语法 3.2 读取配置文件 3.3 properties 缺点 4.yml 配置文件说明 4.1 yml 基本语法 4.2 yml 使用进阶 4.2.1 yml 配置不同数据类型及 null 4.2.2 yml 配置读取 4.2.3 注意事项:value 值加单双引号 4.2.4 配置对象

    2024年02月15日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包