- 博客(13)
- 资源 (7)
- 收藏
- 关注
原创 在系统内核中绘制鼠标指针
有了桌面背景,能够显示字符串,现在在图形界面上还少了点东西,那就是鼠标指针,如果有个鼠标能在桌面里动来动去,那系统就有点意思了。就像前几节说的那样,任何图像都是二维平面上点的集合,把不同位置的点设置成不同颜色,那么我们想要的图像就显示出来了
2016-09-30 17:08:57 1983
原创 字符串匹配自动机的算法原理
上一节,我们知道,如何构造一个有限状态机,用于字符串匹配,我们只给出了怎么做,这一节,我们详细说明一下,为什么要这么做,我们要从数学上验证上一节我们给出的算法逻辑是经得起考验的。
2016-09-29 11:31:48 3814 1
原创 函数声明的语法识别及类型系统建立
上一节,我们已经实现了变量声明语句的语法识别,并在识别过程中建立了变量的类型系统,这一节,我们看看函数接口声明的语法识别过程,并在识别过程中,为函数建立类型系统。这次,我们要分析的C语言语句如下:void f(int x, short y, long z);
2016-09-27 22:13:58 958
原创 绘制系统内核字体
我们已经有了系统桌面,但还缺少一个重要因素,那就是字体,没有字体就无法有效的传递信息,因此,本节,我们看看,系统的字体是如何绘制的。字体的绘制跟其他图形一样,都是通过将指定位置的像素点设置成给定颜色而形成的最终图形,如下图: 我们看到,要绘制给定的字母,我们可以把一块图形区域先全部染成白色,然后在将某个位置的像素点的颜色设置成黑色,那么,字体就显示出来了。
2016-09-23 17:13:35 1961 4
原创 符号表和类型系统的代码实现
本节讲解符号表和类型系统的代码实现,该文档只有结合代码调试视频一起看才容易理解,演示视频的地址为: http://study.163.com/course/courseMain.htm?courseId=1002830012前几节,我们讨论的符号表和类型系统的基本原理,这一节,我们看看如何从代码上实现前面我们探讨的内容,毕竟,实践才是检验真理的唯一标准,我们仍然基于前面说过的声明语句:long i
2016-09-22 13:41:33 2451
原创 使用调色板绘制系统界面
上一节,我们已经可以使用C语言实现图像绘制,但操作系统的用户界面不可能是那种扎眼的条纹图案,这一节,我们要改进图形绘制的方法,做一个像某像样的系统界面。本节,我们看看如何利用调色板机制绘制更加好看的系统界面
2016-09-17 18:03:19 5495 7
原创 字符串匹配算法之:有限状态自动机
本章描述了如何构造一个用于字符串匹配的有限状态自动机,依赖该自动机,可以在O(n)的时间复杂度内,判断文本T是否包含字符串P
2016-09-15 19:04:52 27158 12
原创 利用C语言绘制操作系统图像界面
有了C语言这一利器后,不多多拿来用,那就太对不起前面的一系列努力了。那么怎么表现C语言的强大功能呢,如果还只是一味的在界面上输出几行字符,那太没意思,考虑到,我们的目标是做出像windows那样具备舒心的图像用户界面那样的系统,所以在这一节,我们由字符模式切换入画面模式,初步体验下,那些绚丽多彩的图像界面是如何发展而成的。
2016-09-13 11:39:04 29675 5
原创 C语言的符号表和类型系统2
阅读博客的朋友可以到我的网易云课堂中,通过视频的方式查看代码的调试和执行过程:http://study.163.com/course/courseMain.htm?courseId=1002830012这一节,我们继续就上一节讨论的内容,继续就符号表和类型系统的构建进行深入的探讨。基于上一节的基础,我们看看,编译器如何为一个变量构建它在符号表中的记录和类型系统。
2016-09-12 15:58:29 3230 3
原创 C语言结合汇编开发系统内核
前几节,我们进入了保护模式,在保护模式下,除了寻址空间增大,运算能力增强外,还有一大好处就是能将C语言引入内核开发,因为C语言编译后的汇编代码,默认的运行环境就是保护模式,所以,只有进入保护模式,那么C语言才有可能介入到开发流程中,或许大家已经厌倦了汇编语言的晦涩,引入C语言,想必我们都能松口气。下面,我们先看看,汇编如何与C结合,实现相互间的函数调用。
2016-09-08 16:52:15 3828 6
原创 面试算法之字符串匹配算法,Rabin-Karp算法详解
既然谈论到字符串相关算法,那么字符串匹配是根本绕不过去的坎。在面试中,面试官可能会要你写或谈谈字符串的匹配算法.字符串匹配算法有多种,每种都有它的优点和缺陷,没有哪一种算法是完美无缺的。如果在面试中被问到这个问题,最好的处理方法是先详细的给出一个具体算法,然后再去大概的探讨其他方法的优劣,做到这一点,通过的胜算就相当大了,由此,我们需要了解主流的字符串匹配算法
2016-09-08 10:15:30 9093 3
原创 C语言的符号表和类型系统1
绝大多数编程语言都可以分成三部分:声明(declaration),表达式(expression),语句模块(statement). 每部分都有专门的语法来定义,在上一节中,我们通过语法定义了C语言,本节,我们看看如何为C语言的变量建立类型系统,以便支持代码生成
2016-09-06 17:37:26 14004 2
原创 字符串算法面试题之:游程编码和词组倒转
算法面试主题的视频内容请参看: 如何进入Google,算法面试之道字符串的处理在编程中,几乎无处不在,从脚本处理,前端开发,到生物信息算法,无不广泛而又深入的涉及到字符串的处理。在面试算法中,各种有关字符串处理的算法题,经常用来检测候选人的编程功底,从本节开始,我们逐步展示字符串的相关处理算法,先从简单开始,对于复杂的字符串算法,往往涉及到哈希表和动态规划,相关内容,在后面我们会逐步涉及到。
2016-09-01 11:50:57 2074
一个java实现的简易编译器
2016-02-18
一个android 文本比对app的实现代码
2015-11-16
Learning AndEngine
2015-03-26
Information Retrieval: Implementing and Evaluating Search Engines
2015-02-10
Android 4.4 App Development Essential
2014-11-21
NUnit Pocket Reference
2014-10-29
C# Design Pattern Essentials mobi
2014-10-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人