自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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实现的简易编译器

这是一个用java实现的简易的编译器,他能将一个具有加法和乘法的算术表达式编译成类汇编语言,这是我博文对应的代码,具体请参看我的博文: http://blog.csdn.net/tyler_download/article/details/50668983 例如输入 1+2*3+4; end end是必须的,表示输入结束,然后程序输出: t0 = 1 t1 = 2 t2 = 3 t1 *= t2 t0 += t1 t1 = 4 t0 += t1

2016-02-18

一个android 文本比对app的实现代码

这是一个android版的beyond comparer, 它的功能是找出两个文本的最大共同子串,其算法思想是LCS, 但我利用Hirschberg 的动态规划算法将存储复杂度由O(n^2)改为O(n), 具体详情请参看我的博文: http://blog.csdn.net/tyler_download/article/details/49820515

2015-11-16

Learning AndEngine

AndEngine 是android开放的经典引擎,它能提供的框架能极大的提高android平台上的游戏开发质量和效率,当然,到现在它已经老了,引擎源代码有两年未更新,但国内有不少开源的游戏引擎,例如OGEngine都是基于AndEngine的,而且OGEngine文档做的很差,要想有效的运用OGEngine,学校AndEngine看似必不可少,这里将描写AndEngine最好的开发书籍共享,但愿起到抛砖引玉的作用

2015-03-26

Information Retrieval: Implementing and Evaluating Search Engines

这是一本讲诉搜索开发技术的书,在亚马逊上评分为五星。众所周知,搜索引擎很多技术都很成熟了,但其实践的成本很高,因此,很多相关书籍讲解的大多是概念,而计算机科学的内核是实践,没法动手做的东西,意义都不大。本书特点在于它基于一个信息检索的开源系统Wumpus,使得理论和实践能够结合起来,这或许是它在亚马逊有五星的原因吧,希望有志于信息检索的各位同仁能充书里获得应有的收获

2015-02-10

Android 4.4 App Development Essential

亚马逊上五星级的android开发入门书,它将android开发的概念,流程娓娓道来,详细讲解了开发环境的搭建,调试,并逐步讲解开发的各个知识点,并提供动手实践的实例和程序,极大地降低了学习曲线,是想进入android移动开发的绝佳入门资料

2014-11-21

NUnit Pocket Reference

该书介绍了.net c# 最成熟和流行的单元测试框架NUnit的技术,微软内部也在用该工具做单元测试,任何想提高代码质量或想转入TDD开发的.net c# 工程师都值得一读,该书在亚马逊上有4.5星,以下是英文介绍: Few .NET developers have the luxury of unlimited code testing once their application is complete, and rushing through the testing process is both problematic and stressful. The open source NUnit framework provides an excellent and efficient way to test and improve .NET code as it's written, saving hundreds of QA hours and headaches.NUnit is one of the most mature and widely-used .NET open source projects even Microsoft uses it internally. NUnit is a unit-testing framework for all .Net languages. Written entirely in C#, NUnit takes advantage of many .NET language features, such as custom attributes and other reflection related capabilities. It automates unit testing and reduces the effort required to frequently test code while developing it. NUint is invaluable for .NET developers in test-driven development under agile methodologies such as Extreme Programming (XP) as well as for developers who use for unit testing for software quality assurance. Unfortunately, some of those valuable hours saved by using NUnit can be wasted trying to master this powerful but under-documented frameworkProof that good things come in small packages, the NUnit Pocket Reference is a complete reference to NUnit, filling in the blanks left by the existing documentation and online discussion. It offers developers everything they need to know to install, configure, and use NUnit; the NUnit user interface; and a reference to the NUnit framework classes in a slim but well-organized package. This handy little book even offers practical, real world NUnit examples. And with the NUnit Pocket Reference, IT managers will know to expect when they implement unit testing in their projects. It is the only book you'll need on this popular and practical new open source framework.

2014-10-29

C# Design Pattern Essentials mobi

一本通过c#描述设计模式的书,书中通过代码一步一步引导你理解学习各种设计模式,通过代码实践增强各种设计模式的了解。原有经典的四人帮设计模式书 design pattern elements of reusable oriented software 大多是理论而缺乏实践,该书是对四人帮的书的良好补充

2014-10-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除