NJU-ICS 2024学习随笔PA1

前言略,以此记录我在了解计算机的初次尝试

 

2024.9.11

已经做了几天了,PA0已经过去,正在做PA1

我好像是跳过了gdb部分的学习,所以我打算明天(或者后天)学习一下,然后解决运行指令make file后直接q会报错的bug

 

2024.9.12

很难绷的是,我之前直接cv他们的那个.vimrc的修改内容会各种报错,好像是“+”“-”“@@”不识别或者没有这个符号,删掉这些东西就可以了。

注释就用引号就可以,那没有报错的结果是这样:

(对不对我不知道哈,关于nju这么写的原因我也不知道,但是我觉得他们这么写一定有原因的,这个之后再说)

那就继续学gdb吧

 

虽然没学gdb,但是目前定位到会输出(nemu)的地方了,也在分屏的时候用了用tmux。

说实话不太好用,切换窗口或者执行指令需要前缀ctrl+b,我觉得这个很不方便,明天研究研究有什么好用的东西不。

今天就到这里吧,明天白天还得继续和考研斗智斗勇。

 

 

2024.9.13

几经辗转算是解决了

列举一个我在这个过程中常用的指令

grep -r "whatever"

就是查找改目录下所有内含“whatever”的内容的文件地址,以及相关行内容

类似这种

那接下来讲讲:

“如何优美地退出”

首先用上述grep指令找到main函数在哪,用grep -r "int main"可能稍微聪明一些,随之发现一个这样的东西:

进去之后发现整个代码的运行顺序

用同样的方式能找到engine_start函数的位置以及is_exit_status_bad函数的位置

可以用上述指令找到is_exit_status_bad在哪里定义的

打开后发现

这里返回了一个!good

我的做法是删掉这个对整个程序有什么影响,以及对不对我也不知道,之后再说。

然后报错就没有

 

2024.9.16

停更了两天

前天踢足球之前没热身大腿拉伤了,昨天在床上躺了一整天,今天好像还有点感冒。

做题也做得很慢,做着做着脑子疼,还非常容易走神。好在正确率还不错,如果考研也有这正确率就好了。

 

说说今天干了啥吧:

首先是继续往下看了,在看表达式求值的部分。想了想或许我应该把代码传到github上去,建了库,也试了试。但是传不上去,说是fatal: Could not read from remote repository

搜了搜,好像要重新生成密钥。有点麻烦,今天也想多睡会,就算了。

歇了。

 

2024.9.19

停了几天,一个是刚感冒好,多休息休息,一个是有点懒。

我今天发现我基础设施我跳过了,今天就开始写写基础设施。

单步执行

首先查到 strtok 的用法以及参数的解释,加上注释就可以看明白cmd_help的第一句话了

就是获得第一个参数

接下来看一下文档中说的 sscanf 吧(确实是个好东西啊,之前都是cin惯了)

接下来要开始尝试写写了

首先是指令分割

获得第一个参数。

(但是这里注意以下,如果用户有更多的输入,即不合法的参数输入,应该check一下,所以一次获取两个参数来判断是否合法)

然后是正确输入的时候,调用cpu_exec函数,参数为 nn 的取值可以用 sscanf arg 获得)。

若是没有任何参数,则视 n 为 1。

完整代码

 

今天就到这里吧,十一点半了,收拾收拾准备睡觉了。

突然不想睡了。我现在的主要问题是我在vim上复制之后没法到本地粘贴,我研究研究怎么搞,要不然全是截图太丑陋了。

如何在vim使用系统剪切板

12点多了,但是解决了,主要出现了一下问题:

1、输入指令vim --version | grep "clipboard“时发现

~$ vim --version | grep "clipboard"
-clipboard         +keymap            +printer           +vertsplit
+eval              -mouse_jsbterm     -sun_workshop      -xterm_clipboard

发现 clipboard 前面是 -

2、输入指令sudo apt-get install vim vim-gtk3

但是我发现我这边出现了报错Temporary failure resolving 'mirrors.tuna.tsinghua.edu.cn'

我尝试了包括且不限于修改网络适配器,安装有关https的包(但是发现已经安装了)。。。

所以我尝试sudo apt-get update,第一次失败了。重启后又试了一次,也失败了,但是我第二次调用就好了,我也不知道为什么,我什么都没做。。。。

再次输入指令sudo apt-get install vim vim-gtk3,就更新成功了。

~$ vim --version | grep "clipboard"
+clipboard         +keymap            +printer           +vertsplit
+eval              -mouse_jsbterm     -sun_workshop      +xterm_clipboard

 

心累,不懂网络,也不懂技术,事情发生不知道什么原因。

但是之前看jyy的操作系统课说,计算机任何事情发生都能找到原因。

所以我希望后面我能懂,这些报错发生的原因是什么。

posted @ 2024-09-12 00:03  euphria  阅读(37)  评论(0编辑  收藏  举报