CSAPP配套了一系列很棒的lab,由于实验环境是unix,如果在Windows或MACOS环境下建议使用Docker的Linux容器来搭建csapp的实验环境。
下载lab lab下载地址:http://csapp.cs.cmu.edu/3e/labs.html,点击对应实验的Self-Study Handout即可下载该实验。安装Docker Docker下载地址:https://www.docker.com/,选择对应操作系统并下载安装即可。配置ubuntu 选择ubuntu作为实验的运行环境,下面是一些配置命令。 从仓库拉取ubuntu镜像 docker pull ubuntu:18.04 创建容器 从该ubuntu镜像创建容器,命名为csapp_env,且挂载csapp共享文件夹(对应容器根目录下的csapp文件夹),之前下载的lab资源通过该文件夹和容器共享,命令中的/Users/xxxx/Desktop/csapp为共享文件夹的本地目录绝对路径。执行完创建容器的命令后会自动进入容器并打开容器的bash,后面的命令都是在容器中的bash执行的。 docker container run -it -v /Users/xxxx/Desktop/csapp:/csapp --name=csapp_env ubuntu:18.04 /bin/bash 更新apt软件源 apt-get update 安装sudo apt-get install sudo 安装c/c++编译环境 build-essential软件包列表内包含libc6-dev、libc-dev、gcc、g++、make、dpkg等。 sudo apt-get install build-essential 补充gcc的完整环境(gcc-multilib) sudo apt-get install gcc-multilib 安装gdb sudo apt-get install gdb 启动&退出环境 完成环境配置后,每次需要进行试验时执行如下命令即可,其它docker命令见官方文档https://docs.docker.com/engine/reference/commandline。 重新运行容器实例 docker container start csapp_env 进入容器并打开bash docker container exec -it csapp_env /bin/bash 退出环境 CTRL+D或者使用exit命令即可从容器中退出停止容器 当不需要进行实验时使用kill命令终止实例的运行并释放系统资源 docker container kill csapp_env