随笔分类 - 大学计算机课程
摘要:我认为\(w\)位机器能够表示的整数的最大值为\(2^{w-1}-1\)的原因是由于是\(w\)位,所以寄存器的长度是\(w\)位(这个样子才可以访问地址,因为地址的编号是\(w\)位的),于是寄存器就可以存储\(w\)位长的数字
阅读全文
摘要:“虚拟内存”也就是指的内存。“字节数组”的意思是内存是一个一个字节组成,机器可以像数组那个样子用唯一的表示数字寻址
阅读全文
摘要:目录P171 P171 解释一下图3-31 b) 第五行:8(%rsp)是访问了内存实际的值,所以要使用leaq来将8(%rsp)的地址移动到%rsi 第六行:%rsp本来就是地址,所以直接使用movq而不是leaq 举这个例子就是说由于有地址运算符,所以必须有第三行和第四行来将两个参数存储在运行时
阅读全文
摘要:目录P161 P161 解释一下图3-23和.rodata文件:这两个文件都是由编译器产生的,在遇到switch语句的时候,编译器先产生.rodata文件,于是就可以知道可以用.L4去标识这个文件;然后.L4(,%rsi,8)的意思就是地址.L4+0+8*%rsi;.quad是一个声明,表示这里是8
阅读全文
摘要:目录P140P142 P140 解释一下这段话:0x03表示的是第二条指令3: eb 03中的03,这就代表当前地址要移动的增量(也就是往前移动3个字节),0x5表示的是第三条指令5: 48 d1 f8的5,也就是下一条指令的开头(当然也就是当前地址,因为当前地址是当前指令的结尾);第二段也可以类似
阅读全文
摘要:目录 修改键位映射 守护进程 FUSE 备份 API(应用程序接口) 常见命令行标志参数及模式 窗口管理器 VPN Markdown Hammerspoon (macOS 桌面自动化) 资源 开机引导以及 Live USB Docker, Vagrant, VMs, Cloud, OpenStack
阅读全文
摘要:目录P125 P125 *xp是第一个参数,所以存储在%rdi中;y是第二个参数,所以存储在%rsi中;x是返回值,所以存储在%rax中。对于机器来说,他其实是看不到C代码的,所以他只知道根据汇编语言,将%rdi存储的指针指向的内存里面存储的值复制到%rax中,然后将%rsi中的值复制到%rdi存储
阅读全文
摘要:目录P123 P123 注意寄存器既可以存储整数也可以存储指针,这里加了括号就表示寄存器存储的是指针,访问指针指向的内存。(%rdi,%rcx)相当于地址rdi+rcx,-12(%rbp)相当于rbp-12 上面是一个更加一般的例子,对于最后一个问题的回答如下 其中第二个理由是视频的观点。可以看一下
阅读全文
摘要:这一节以及下一节说的\(x\cdot y\)都是说先用人类的方法算出\(x\cdot y\)的值,然后在\(2w\)位的二进制下去表示这个值,然后将这个值截断,最终用无符号或者补码的形式去解读截断之后的值
阅读全文
摘要:去年的 这节课 我们从计算机用户的角度探讨了增强隐私保护和安全的方法。 今年我们将关注比如散列函数、密钥生成函数、对称 / 非对称密码体系这些安全和密码学的概念是如何应用于前几节课所学到的工具(Git 和 SSH)中的。 本课程不能作为计算机系统安全 (6.858) 或者 密码学 (6.857 以及
阅读全文
摘要:本文由 简悦 SimpRead 转码, 原文地址 missing-semester-cn.github.io 我们这里说的 “元编程(metaprogramming)” 是什么意思呢?好吧,对于本文要介绍的这些内容,这是我们能够想到的最能概括它们的词。因为我们今天要讲的东西,更多是关于 流程 ,而不
阅读全文
摘要:代码不能完全按照您的想法运行,它只能完全按照您的写法运行,这是编程界的一条金科玉律。 让您的写法符合您的想法是非常困难的。在这节课中,我们会传授给您一些非常有用技术,帮您处理代码中的 bug 和程序性能问题。 打印调试法与日志 “最有效的 debug 工具就是细致的分析,配合恰当位置的打印语句” —
阅读全文
摘要:
阅读全文
摘要:目录P29P31 P29 注意一个数字不是8个bit,数字是以十六进制表示的,所以是4个bit.这里的地址单元的大小就是一个字节 P31 解释一下这个程序,可以想想为什么有图2-6的输出结果 我们知道: 一个变量有两个特征,这个变量的值和这个变量的地址 &x获得的是x的地址,是其在内存中的首字节的地
阅读全文
摘要:版本控制系统 (VCSs) 是一类用于追踪源代码(或其他文件、文件夹)改动的工具。顾名思义,这些工具可以帮助我们管理代码的修改历史;不仅如此,它还可以让协作编码变得更方便。VCS 通过一系列的快照将某个文件夹及其内容保存了起来,每个快照都包含了顶级目录中所有的文件或文件夹的完整状态。同时它还维护了快
阅读全文
摘要:当您使用 shell 进行工作时,可以使用一些方法改善您的工作流,本节课我们就来讨论这些方法。 我们已经使用 shell 一段时间了,但是到目前为止我们的关注点主要集中在使用不同的命令上面。现在,我们将会学习如何同时执行多个不同的进程并追踪它们的状态、如何停止或暂停某个进程以及如何使进程在后台运行。
阅读全文
摘要:您是否曾经有过这样的需求,将某种格式存储的数据转换成另外一种格式? 肯定有过,对吧! 这也正是我们这节课所要讲授的主要内容。具体来讲,我们需要不断地对数据进行处理,直到得到我们想要的最终结果。 在之前的课程中,其实我们已经接触到了一些数据整理的基本技术。可以这么说,每当您使用管道运算符的时候,其实就
阅读全文
摘要:写作和写代码其实是两项非常不同的活动。当我们编程的时候,会经常在文件间进行切换、阅读、浏览和修改代码,而不是连续编写一大段的文字。因此代码编辑器和文本编辑器是很不同的两种工具(例如微软的 Word 与 Visual Studio Code)。 作为程序员,我们大部分时间都花在代码编辑上,所以花点时间
阅读全文

浙公网安备 33010602011771号