摘要:
Lambda表达式 1、什么是Lambda表达式 用于定义匿名函数,使得代码更加灵活和简洁。常见形式如下: auto plus = [] (int v1,int v2) -> int {return v1 + v2;} int sum = plus(1,2) 2、完整的表达式类型 [captur 阅读全文
摘要:
HTTP缓存 HTTP缓存实现有两种强制缓存和协商缓存 强制缓存 强缓存:浏览器判断请求的目标资源是否有效命中强缓存,如果命中,则直接从内存中读取目标资源,无需与服务器做任何通讯 Expires强缓存:设置一个强缓存时间,此时间范围内,从内存中读取缓存并返回,判断强缓存过期的机制是获取本地时间戳,与 阅读全文
摘要:
Linux设备树语法详解 - Abnor - 博客园 (cnblogs.com) Linux设备树(2)——设备树格式和使用 - Hello-World3 - 博客园 (cnblogs.com) https://www.cnblogs.com/hellokitty2/p/10999432.html 阅读全文
摘要:
本篇博客大致介绍了字符的三种编码格式:ASCII、ANSI、Unicode,并比较浅显的解释了其编码过程,在写这篇博客的时候,参考了以下链接: 【字符编码】彻底理解字符编码 - leesf - 博客园 (cnblogs.com) 一篇搞懂Unicode ANSI UTF8等字符编码 - 知乎 (zh 阅读全文
摘要:
在vim中,按ESC键,跳到命令模式,然后输入: :w -保存文件,不退出 vim :w file -将修改另外保存到 file 中,不退出 vim :w! -强制保存,不退出 vim :wq -保存文件,退出 vim :wq! -强制保存文件,退出 vim :q -不保存文件,退出 vim :q! 阅读全文
摘要:
lab2 提交lab1代码的时候,出现了合并冲突的问题,使用git status,发现问题出现在init.c文件与lab分支的文件产生冲突,修改后成功提交。 lab2中多出来了以下几个文件 inc/memlayout.h kern/pmap.c kern/pmap.h kern/kclock 阅读全文
摘要:
Part3 The Kernel 利用虚拟内存解决位置依赖问题 当您检查上述引导加载器的链接地址和加载地址时,它们完全匹配,但内核的链接地址(由 objdump 打印)和加载地址之间存在(相当大的)差异。回去检查一下这两个地址,确保你能看到我们在说什么。(链接内核比引导加载器更复杂,所以链接地址 阅读全文
摘要:
Part2 The Boot Loader 个人电脑的软盘和硬盘被划分为 512 字节的区域,称为扇区。扇区是磁盘的最小传输粒度:每次读取或写入操作必须有一个或多个扇区大小,并在扇区边界对齐。如果磁盘是可启动的,第一个扇区称为启动扇区,因为这是启动加载程序代码所在的位置。当 BIOS 发现可引导 阅读全文
摘要:
Part 1:PC Bootstrap 第一个练习的目的是向你介绍 x86 汇编语言和 PC 启动过程,并让你开始使用 QEMU 和 QEMU/GDB 调试。在这部分实验中,你不必编写任何代码,但为了加深理解,你还是应该做一遍,并准备好回答下面的问题。 x86汇编入门 如果您还不熟悉 x86 阅读全文
摘要:
链接器解析符号 链接器解析符号引用的方法是将每个引用与它输入的可重定位目标文件的符号表中的一个确定的符号定义关联起来,可重定位目标文件的符号表在随笔ELF可重定位目标文件 - mjy66 - 博客园 (cnblogs.com)中有提到,以ELF格式的目标文件举例,.symtab节就是其符号表。 阅读全文