打造酷炫终端(二)——Tmux 配置
打造酷炫终端(二)——Tmux 配置 Tmux 的安装与使用 Tmux 主要有三个功能(按重要性排序): 保护现场:只要在 Tmux 中执行命令或者编译某段代码,无论是怎样的情况导致终端关闭,重新登录连接 Tmux 后,任务依然继续或者已经完成。无论是断电或断网,只要远程服务器没有关闭,tmux 中的任务依然运行。 因此,保护现场是 Tmux 最为…
打造酷炫终端(一)——Shell 配置
每一个 programmer 总是想要一个“酷炫的终端”,大一上的时候望着复杂的 Windows Terminal 美化教程只能放弃(美化需要用到 CSS,不会前端),虽然现在也基本不会,但依然可以造一个,通过尝试开(费)箱(时)即(费)用(力)的轮子,实现酷炫的装B特效 打造酷炫终端(一)——Shell 配置 全过程肯定需要Github,考虑下怎…
Clash 的 TAP 模式
[toc] Clash 的 TAP 模式 最近为 WSL2 下 fq 有点烦恼,因为正常的 clash 即使开启全局模式也无法代理 UWP 应用的流量,对于这种情况,我往往采用 VPN,使用 wireguard 来代理全局所有的流量(以前使用 linux 虚拟机的时候,可以通过这样来让虚拟机 fq)。但我发现 WSL2 有独立的虚拟网卡,以至于 w…
CSAPP Lab:Shell Lab
[toc] 过年很常时间没有开 lab 了,这个 lab 做了两天(不包括写文档),第一天就是读文档和测试各种 demo,第二天前半天也是测试各种 demo,晚上才把 lab 写完。大概这就是做这个 lab 的体验吧。 做这个 lab 的时候 CSAPP 下载 lab 材料的网站还炸了,一度以为是不开放了再也上不去了 Shell Lab 介绍 Sh…
CSAPP:第 8 章 异常控制流
[toc] 本篇文章是对 CSAPP 第 8 章异常控制流的复现记录,部分代码有笔者的更改 Linux 系统调用 int main() { write(1, "hello, world\n", 13); _exit(0); } 进程控制 获取进程 ID #include <sys/types.h> #include <unistd…
CSAPP:第 7 章 链接
[toc] 由于有事导致这一章很久才开始看,这一章由于没有对应的实验,所以我一边看书一边复现书上的编译链接过程,本篇文章算是复现过程记录吧 编译到链接的基本过程 最后一步应该是需要加很多 [system object files and args] 才能链接成功 符号和符号表 练习题7.1 符号解析 函数和已初始化的全局变量是强符号,未初始化的全局…
CSAPP Lab:Cache Lab
[toc] 做完 Performance Lab 后,摆了一两天玩 PVZ2,又继续来做 Cache Lab。刚跑通本 Lab 的 Part A,某老师就让第二天内交编译的 Lab4,于是第二天花了一整天速成了 Lab4。之后又边摆边做用了两天才搞完这个 Cache Lab。 Cache Lab 介绍 本次实验分为 PartA 和 PartB 两部…
CSAPP Lab:Performance Lab
[toc] 看完 CSAPP 五六章后,摆了一天玩 PVZ2,来做 Performance Lab,做完了继续 PVZ2 Performance Lab 介绍 这个 lab 在 CMU 已经被Cache Lab取代了,听说 Cache Lab 比较难,就先做这个 lab 练练手。基于书上第五、六章对程序进行优化,主要用了循环分块消除缓存不命中和消除…
CSAPP Lab:Attack Lab
[toc] 第五章程序优化看了大半,看累了。晚上孟爷爷在卷不陪我打 CSGO,于是就开始尝试 Lab3: Attack Lab Attack Lab 介绍 这次的 lab 有 14 页的英文文档,里面是题目的要求,也包含解题指导。相比 4 页的 Bomb lab,对读文档的耐心要求更高了,第一天晚上的时间都用来了读文档和搭建实验环境,这次搭建实验环…
CSAPP Lab:Bomb Lab
[toc] 在勉强读完第四章后(流水线后面的HCL细节实现都略过没看了),决定开始尝试传说中的lab,datalab与进制表示的骚操作相关,有点无趣,于是直接开始lab2 bomb(二进制炸弹实验) Bomb Lab 介绍 这个 lab 给了一个名为 bomb 的程序文件,还有一个名为 bomb.c 的文件是题目要求和 bomb 实现的代码框架,代…