1- # Lab1 -- DataLab
1+ # Lab1: DataLab
22
33> author: 蔡亦扬、项正豪
44
5- ## 一、 实验简介
5+ ## 实验简介
66
77CSAPP 第一章配套实验。
88
@@ -12,17 +12,15 @@ CSAPP 第一章配套实验。
1212
1313荣誉部分虽然占分,但是占分并不高,大家可以自己决定要不要做荣誉部分。生活就像海洋,只有意志坚强的人才能到达彼岸!
1414
15-
16-
17- ## 二、部署实验环境
15+ ## 部署实验环境
1816
1917### (1)下载
2018
21- 从 ` github classroom ` 拉取` ICS2025_datalab ` 文件夹,其中的内容就是本次实验用到的的文件了,拉取指令如下:
19+ 从 ` github classroom ` 拉取` lab1-datalab-xxx ` 文件夹,其中的内容就是本次实验用到的的文件了,拉取指令如下:
2220
2321``` shell
24- git clone xxx # 将 xxx 替换为对应链接
25- cd ICS2025_datalab
22+ git clone git@github.com:ICS-25Fall-FDU/lab1-datalab- xxx.git # 将 xxx 替换为你的 GitHub 用户名
23+ cd lab1-datalab-xxx
2624```
2725
2826### (2)准备工作
4341sudo apt-get install gcc
4442```
4543
46-
47-
4844#### 确保已安装了 make
4945
5046检查是否安装 make,在终端输入:
@@ -58,10 +54,13 @@ make -v
5854``` shell
5955sudo apt-get update
6056sudo apt-get install make
61- sudo apt-get install libc6 libc6-dev libc6-dev-i386
6257```
6358
59+ 本实验需要用到以下 C 标准库:
6460
61+ ``` shell
62+ sudo apt-get install libc6 libc6-dev libc6-dev-i386
63+ ```
6564
6665#### 确保实验文件能正常 make 并运行测试
6766
@@ -96,8 +95,6 @@ make all
9695sudo apt install gcc-multilib
9796```
9897
99-
100-
10198#### 确保 dlc(data lab compiler)能正常执行
10299
103100依然在 ` datalab/ ` 目录下,
@@ -109,16 +106,16 @@ sudo apt install gcc-multilib
109106```
110107
111108如果遇到 ` ./dlc: Permission denied ` ,说明没有当前文件的执行权限,执行:
109+
112110``` shell
113111chmod +x dlc
114112```
113+
115114增加执行权限。
116115
117116如果执行立即结束并且没有任何反馈,则没有问题。
118117
119-
120-
121- ## 三、实验提示与说明
118+ ## 实验提示与说明
122119
123120### (1)如何入手
124121
@@ -130,8 +127,6 @@ chmod +x dlc
130127
131128上面的两个文件请务必仔细阅读。
132129
133-
134-
135130注意到,每一个谜题包含了如下信息:
136131
137132* 能使用的运算符。
@@ -140,8 +135,6 @@ chmod +x dlc
140135* 变量类型。
141136* 能否使用控制语句(如 ` if ` )等。
142137
143-
144-
145138### (2)测试
146139
147140* 除了 ` bits.c ` ,你不应该编辑任何其余文件。
@@ -166,9 +159,7 @@ chmod +x dlc
166159
167160* 你可以利用上 ` ./ishow` 和 ` ./fshow` 来帮助你调试(用法见 ` README` )。
168161
169-
170-
171- # # 四、提交实验
162+ # # 提交实验
172163
173164# ## (1)内容要求
174165
@@ -180,43 +171,49 @@ chmod +x dlc
180171
181172* 你在终端中执行 ` ./dlc -e bits.c` 后的截图。
182173* 你在终端中执行 ` ./btest` 后的截图。
183- * 描述你实现每个函数的思路。bits.c中不要求给自己的代码写注释 (写了也无妨)
174+ * 描述你实现每个函数的思路。` bits.c ` 中不要求给自己的代码写注释 (写了也无妨)
184175* 如果有,请务必在报告中列出引用的内容以及参考的资料。
185176* 对本实验的感受(可选)。
186177* 对助教们的建议(可选)。
187178
188179# ## (2)格式要求
189180
190- 可提交 ` .md` 文件或者 ` .pdf` 文件。不要提交 ` .doc` 或 ` .docx` 文件。
181+ 可提交 ` .md` 文件或者 ` .pdf` 文件。请勿提交 ` .doc` 或 ` .docx` 文件。
191182(如果提交 ` .md` 文件,请确保助教能同时看到你报告中的截图!)
192183
184+ > [! tip]
185+ >
186+ > 在你的 Markdown 报告中插入图片时,使用 ** 相对路径** 而不是绝对路径。如果你不确定这一步是否正确,请进入你的远程仓库预览你的报告。
187+
193188# ## (3)上传
194189
195- 在终端运行以下指令 :
190+ 打开终端, ** 在 ` lab1-datalab-xxx ` 路径下 ** 执行以下指令 :
196191
197192` ` ` shell
198- git add -A
199193# 提交当前文件夹下的所有更改到暂存区
200- git commit -m " xxx(可以是你的提交注释)"
194+ git add -A
195+
201196# 将暂存区的所有更改提交到本地仓库
202- git push
197+ git commit -m " xxx(可以是你的提交注释)"
198+
203199# 将本地仓库推送到远程
200+ git push
204201` ` `
205202
206- # ## (4)打分规则
203+ # ## (4)评分规则
207204
208205* 实验报告要求简洁清晰,不必追求字数,描述清楚思路即可
209206* 对每道谜题请先做思考,不要立即使用搜索引擎。
210207* 不允许抄袭其它人的代码,一旦发现,零分处理。
211208
209+ # # 参考资料
212210
211+ * [CMU 原版 Lab](http://csapp.cs.cmu.edu/3e/labs.html)
212+ * 本文档编写时参考了24年的实验文档 。
213213
214- # # 五、参考资料
215-
216- * http://csapp.cs.cmu.edu/3e/labs.html (lab 来源,本实验相较原文件有改动)
217- * 本文档编写时参考了 24 年的实验文档 。
218- * 负责助教:
219- * 蔡亦扬 caiyy23@m.fudan.edu.cn
220- * 项正豪 zhxiang23@m.fudan.edu.cn
221-
222- ** 特别鸣谢** :24 Fall ICS助教李增昊
214+ > [! info] 本 Lab 负责助教
215+ >
216+ > * [蔡亦扬](mailto:caiyy23@m.fudan.edu.cn)
217+ > * [项正豪](mailto:zhxiang23@m.fudan.edu.cn)
218+ >
219+ > ** 特别鸣谢** :24 年秋学期 ICS 助教李增昊
0 commit comments