Java基础-目录
接下来应该会写一系列Java基础的笔记吧,之前虽觉得自己已经熟悉Java,但都没有系统的做笔记和整理,而且Java也是自学的,很多知识都没有
参考 Raw input and output,讲解的顺序和原教程不同,而且省略了很多关于转义序列的说明,键位也是模仿 Vi 来实现的。
这一步里,主要完成的功能有读取键盘的输入,键位映射和移动光标。
为了处理更多更复杂的按键,我们需要写一个函数来专门读取键盘输入。将 step1 的代码作如下修改:
这一节的内容可能比较枯燥,是一些底层的 Terminal 的属性:canonical mode,回显(echoing),键盘按键对应的 ASCII 码(可以发现一些按键不止对应一个编码,还有些按键对应的是同一个编码)和一些杂项设置…通过改变这些设置,让 Terminal 进入所谓的 “raw mode”。
我使用 make 来构建 VIP,因为只有两个源文件,所以 Makefile 很简单:
|
|
CFLAGS 里使用 c99 标准;使用 -O3
进行编译优化,主要是对内联函数进行优化;-Wall -Wextra -pedantic
会打印一些额外的警告,对 debug 有帮助。
Data Lab[Updated 11/2/18]
11/2/18 新鲜出炉的 Data Lab,不同时期的 lab 内容会不一样。
肝了两天还是没有全部做出来,之前很以为很简单呢(
最近也终于买了 CS:APP3e 英文版,配合 CMU 的课程视频食用更佳。顺便可以练习英语听力和阅读,阅读已经可以流畅了,这种英文书基本看得懂,但是听力就不行(
解题的思路一般会写在注释里的。
|
|
虽然这题比较简单,但我还是想了好久。主要是我把这个德摩根定律忘得差不多了,记得在离散数学里讲过。
利用的性质主要是: