csapp lab(0): 如何开始

前言

以前不知道基础的重要性,做项目的时候总是觉得快把这个功能实现了就行,完全没有去深入挖掘其中的原理。最近秋招开始之后,突然开始深刻理解到了一些原理层面上的重要性,于是找出了csapp lab做一做系统层面的实验。

在刚开始找csapp的时候,两眼一黑,花了一下午才理清楚要怎么做。把搭环境和如何开始csapp的过程记录一下

搭建环境

  1. Ubuntu 22.04 不想装双系统,直接VMware装好

  2. 找了很久,找到了一个很好的网址,整理了整套实验的lab,包括部分书籍内容。

    https://hansimov.gitbook.io/csapp/

    csapp一共有8个lab,也就是我们可以跟着csapp这本书从前往后的顺序跟着lab一个一个做就好了。
    每一个lab都是相互独立,且每个里面都会写清楚要求。
    每一个lab在我们做完了之后,可以有一个自动评分程序来检查我们的成果,这是非常方便的一个地方。

如何开始

  1. 打开这个网址里面的各个实验,首先下载自学材料中的.tar文件,下载解压之后,就是一个lab的完整内容啦。
  2. 然后我们可以阅读readme文件查看这个lab的大致要求和怎么做。并且readme也会告诉你这个压缩包中的整个文件架构和各个文件的功能。
  3. 第三步就可以进入到readme中提到的做实验的文件中(比如第一个lab就是btest.c),然后仔细阅读里面的要求以及规矩 (非常重要),看完之后就可以根据要求来开始做lab啦!
  4. 做完之后,在文件目录下打开终端,使用make clean清除之前的编译文件,make生成可执行文件,./文件或者其他指令来运行自动评分程序,就可以看到评分结果啦。

题解

csapp已经有非常多的人做过了,因此题解也是特别的多,也很方便查阅,这里列一个

https://zhuanlan.zhihu.com/p/449877475

补充

在我做第一个lab的时候,发现make会报错,报错信息如下:

fatal error: bits/libc-header-start.h: No such file or directory

这是缺少库的问题,参考这篇博客,,可以解决问题

sudo apt-get install gcc-multilib

csapp lab学习之路就开始啦!

猜你喜欢

转载自blog.csdn.net/scarecrow_sun/article/details/131855826