一、前言

实验需要在linux环境下进行,而我的系统是window10。
好多文章建议使用docker构建linux环境,但是windows系统下配置docker会出现一些问题,所以我选择用虚拟机安装linux环境。

二、虚拟机新建Linux环境

下载Ubuntu镜像,我选择的版本是Ubuntu 20.04。
在VMware中新建虚拟机,将Ubuntu镜像导入。VMware虚拟机安装Ubuntu系统,网上有很多详细的教程,这里便不做详细说明了。

三、下载lab文件

在ubuntu终端中用wget [url]指令下载lab文件。
例如csapp中实验官网是:http://csapp.cs.cmu.edu/3e/labs.html
Self-Study Handout对应的链接便是lab文件地址。
请添加图片描述
例如,可以在Ubuntu终端中输入如下指令,下载第一个实验Data Lab文件:
wget http://csapp.cs.cmu.edu/3e/datalab-handout.tar

如果ubuntu中下载文件速度慢,可以选择更换软件源头,可以参考https://jingyan.baidu.com/article/6dad507559d7d8a123e36eaa.html

四、下载相关工具

将从官网下载的tar包解压,指令:tar xvf FileName.tar
例如,tar xvf datalab-handout.tar

进入datalab-handout文件夹,
安装make:sudo apt install make
安装gcc:sudo apt install gcc
安装Vim:sudo apt install vim

此时在命令行中输入make会报错,这是因为lab运行在32位,但下载的Ubuntu是64位的,可以通过输入指令解决该问题:sudo apt-get install gcc-multilib

五、如何做Lab?

打开一个终端,用vim在 datalab-handout文件夹中打开bits.c。具体方式为进入datalab-handout文件夹,然后输入指令:vim bits.c
打开bits.c文件后,向下翻,就可以找到需要实现的函数。完成第一个函数,int bitXor(int x, in y){}。
请添加图片描述
为了操作方便可以再打开一个终端,进入datalab-handout文件夹。在终端中依次输入make cleanmake./btest指令。
make clean:清除上次的make命令所产生的object文件,
make:编译本次文件
./btest:测试代码
请添加图片描述
样例通过!!!(掌声~)

通过指令./dlc -e bits.c可以查看到更详细的信息。
为了方便,可以开两个终端。左面那个用于在vim中编写代码。右边的终端可以用于编译、测试。
请添加图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐