CSAPP Bomb Lab

之前的 Bomb Lab 没有做,现在刚好在上计算机系统基础这门课,学校使用了 CSAPP 的 Bomb Lab ,可以补交一下 CSAPP 的作业,也可以学习一下 GDB 的使用。 实验简述 遗憾地,CSA...

2022 Oct 29 · 12 min · vaaandark

稍微深入VLA

最近在学习汇编语言,和朋友聊天时聊到了 C 语言中的变长数组,想知道在汇编后是什么样子的。 变长数组(Variable-length array) 可变长数组是...

2022 Oct 20 · 1 min · vaaandark

80X86汇编语言学习

汇编语言学习笔记 预备知识 Intel 机器 微型计算机的构成 80X86 微处理器的基本结构 数据寄存器组 段寄存器组 80X86 的三种工作方式 实地址模式 保护模式 虚拟 8086 方式(V86...

2022 Sep 27 · 3 min · vaaandark

垃圾回收

之前学习了 Lua 的 Table 和协程,对 Lua 中另一个重要模块 GC 还有很多疑问,这次就来学习一下。 GC 简介与策略分类 在计算机科学中,垃圾收集(GC)是一种自动内存...

2022 Sep 17 · 7 min · vaaandark

FreeDOS和masm开发环境配置

正在上计算机系统基础,目前主要是在讲汇编语言,使用的开发环境自然是又老又臭的 DOS 加上 MASM 。之前我看到过 FreeDOS 这个自由的 DOS 发行版,打算试吃一下,之后的...

2022 Sep 16 · 1 min · vaaandark

如何使用Lua写一个NeoVim插件

之前学习了如何写 Lua 程序,又因为 NeoVim 的插件可以用 Lua 写,所以想学习一下插件开发。 插件目录结构 我们的插件应当有至少两个目录:plugin用于放mai...

2022 Aug 18 · 3 min · vaaandark

说说链表

最近看到了一些关于侵入式和非侵入式链表的讨论,决定研究一下它们两个。 侵入式和非侵入式链表的区别 这里的侵入是相对于链表的指针域来说,所以最主要...

2022 Aug 14 · 2 min · vaaandark

OpenMP进阶

继续学习 OpenMP 的使用,尤其是一些较新版本。 OpenMP 4.0 Controlling OpenMP thread Affinity 因为很多硬件如今是 NUMA 结构,分配线程的位置可以很大程度上影响性能。 与核绑定有关的 OpenMP 结构 proc_bind (master |...

2022 Aug 02 · 4 min · vaaandark

OpenMP入门

写 OpenMP 的时候总是感觉怪怪的,不知道什么时候该用什么,所以最近系统化地看一遍 OpenMP 的使用,主体为 OpenMP 2.0 和 3.0。 What is OpenMP? OpenMP Model 每个线程都有可以访问全局的共...

2022 Jul 29 · 3 min · vaaandark

Lua Coroutine

Lua 的一大特色就是协程的使用,在解释型语言中,如果不考虑嵌入到较为低级的语言(如 C 语言)中,就只需要操作调用栈并保存好上下文状态即可。但是 Lua 并...

2022 May 13 · 6 min · vaaandark