一、前言
实验需要在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 clean 、make 、./btest 指令。 make clean:清除上次的make命令所产生的object文件, make:编译本次文件 ./btest:测试代码 样例通过!!!(掌声~)
通过指令./dlc -e bits.c 可以查看到更详细的信息。 为了方便,可以开两个终端。左面那个用于在vim中编写代码。右边的终端可以用于编译、测试。
|