CMU CS:APP3e学习-环境介绍和DataLab

前提说明:我最近一直在学习CSAPP这门课,听两位教授讲课十分过瘾,也产生了一些心得。而在国庆期间无意看到了@anarion大佬所写的学习笔记,深有感触,同时发现我和他的学习思路和使用工具(jetbrains,vscode,linux)都非常接近,于是也想把自己的心得和作业思路写成文章分享。
我是一名普通的本科生,学这些课程只是出于自己的兴趣。我计划将这门课的学习写成一个专栏,以更加深入地理解课程内容,也算是对自己的一个监督。

文档地址

课程介绍

这门课程是卡内基梅隆大学的计算机基础课程,内容涵盖了计算机组成与体系结构,汇编,操作系统以及计算机网络等一些基础知识。相对应的那本深入理解计算机系统(csapp)的12个章节则对应着讲课的内容。建议大家可以去阅读这本书,内容十分详尽,就是一些特定的中文翻译可能不尽如人意。
我个人是以同时观看视频和阅读书籍的方式进行学习的。

课程资源

视频资源

b站视频资源
这位up主精校的字幕还不错,是对我这样英语不好的人的福音~。

Lab资源

进入CSAPP课程首页之后
selfstudy

  • 点击红线,进入Lab汇总
  • 后面两个为上课时的PPT以及代码示例,由于我没用到,因此不作介绍了。

进入之后,下图为第一个Lab:Data Lab的内容.
datalab

点击README可查看该作业的介绍;点击下载Self-Study Handout可获得源程序。

环境搭建

之后用clion打开datalab-handout,即可开始完成作业啦。

DataLab及相关内容

此课程的第一部分是Representing and Manipulating Information,即信息的表示与处理。
由于本章视频内容不难,看完B站视频的前三节我就开始写datalab了。
但datalab真的很难,我花了好一段时间,和室友讨论了很久才算堪堪做完。
现在我将选取个人认为很困难的一些问题进行仔细分析。

但首先的问题是怎么写这个lab。

如何完成DataLab

first

可以看到datalab-handout的内部文件结构,通过阅读README可以知道我们要填充的是bits.c(具体怎么填充请自行阅读),完成之后我们要做两件事。

  1. 在clion自带的Terminal(当然也可以不用这个)中使用指令,没有任何反应则为正确

    ./dlc bits.c
    
  2. 接着使用指令

    make btest
    

解释一下,dlc是一个专门的编译器,负责检查你所写的代码是否满足所规定的Legal ops和Max ops等规定,之后的make btest负责生成可执行文件btest,即检验你代码的正确性,包含你的每道题的错误和得分。
当然如果使用clion也可以进入Makefile文件直接点击左边的小三

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值