自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Goncely的专栏

搜索-规划-推理

  • 博客(28)
  • 资源 (9)
  • 收藏
  • 关注

原创 Hello wxWidget

用vs2010编译了一下wxWidget2.9.1,发现问题还真不少,不知道做vs工程的人有没有自己测试。首先,安装完wxWidget2.9.1,从wx_vc9解决方案升级到10后,编译出现一堆错误,主要原因是项目文件缺少;引起的,changeset_r66836更新包解决了此问题;其次,更新后重新编译,项目文件ok了,但有许多老旧的实现文件没有从项目删除,只能自力更生,自己删除过时的

2011-06-12 14:45:00 1642

原创 超越

<br />未来我们也许会被超越,那么超越我们的还将是我们!——江苏卫视2010跨年演唱会评价非诚勿扰节目

2010-12-31 21:36:00 1215

原创 游戏引擎:让一切可以配置

接触3D世界快10个月了,目前正在设计开发自己的游戏引擎(纯属个人爱好),结合自己的学习和思考,谈一些体会和感受,纯属抛砖,欢迎指正和探讨。

2010-12-25 17:08:00 2326

转载 GPU程序在GameByro中的使用

最近在研究材质系统,收集的一个关于GameBryo材质系统的帖子,好贴不多啊。

2010-10-29 19:29:00 1532

原创 左上填充规则

左上填充规则byGoncely 摘 要:对左上填充规则进行详细介绍的资料很少,而理解左上填充规则对于编写光栅化器至关重要。本文对光栅化的原理和左上填充规则进行了详细描述,描述的时候尽可能做到易懂、详尽,如果读者还是有不明白的地方请给我留言,我会将没有论述清楚的地方补充完善。1、概

2010-05-13 15:32:00 3170 5

转载 目前智能科学研究的十个基本问题

(1) 脑的感知过程和知觉怎样表达?(2) 脑的学习机理是什么? (3) 脑的记忆机理是什么? (4) 思维过程是什么?(5) 意识是什么?(6) 神经元的工作机理是什么? (7) 高级行为如何与神经网络的工作机理发生联系? (8) 所有的认知是否有一种统一的结构? (9) 知识与概念化是否是人工智能的核心? (10) 智力的发育过程是什么?

2010-03-25 06:32:00 1819

原创 透视投影的原理和实现

透视投影的原理和实现by Goncely 摘  要:透视投影是3D渲染的基本概念,也是3D程序设计的基础。掌握透视投影的原理对于深入理解其他3D渲染管线具有重要作用。本文详细介绍了透视投影的原理和算法实现,包括透视投影的标准模型、一般模型和屏幕坐标变换等,并通过VC实现了一个演示程序。1 概述在计算机三维图像中,投影可

2010-03-19 21:18:00 25869 10

原创 ICTCLAS 2009

由于工作原因,又一次接触到ICTCLAS,记得第一次使用ICTCLAS是我做硕士论文的时候,那时ICTCLAS才刚出来,非常感谢作者的无私共享,让我顺利完成了课题。一晃许多年过去了,ICTCLAS也推出了2009 Build0421最新版,同时也从之前的开源变成了共享和商业版,欣喜ICTCLAS不断茁壮成长,另外也有些许遗憾。据作者介绍,更新的版本主要是为了提高分词的效率而不是分词的精度,此外20

2009-06-19 18:52:00 4207 54

原创 一生有你

未觉两鬓已渐斑白,但感豪情依旧澎湃。不问今昔青春何在,只愿一生有你共爱。昨夜路过郑州,一直未能入眠,脑海里总是回想起从前的点点滴滴。没想到许多年以来,一直暗藏内心的还是那几张模糊的面孔,也许再次相逢未必还能相识。也没想到一直未能忘怀的还是年少痴狂时的梦想,也许两鬓斑白也未必能够实现。无论如何,还是谢谢你们!因为有你,让我的生命更加精彩。有爱,有梦,就有未来!

2008-06-04 00:41:00 1608 1

原创 C++句法歧义及消解方法

0. 引言  C++中的句法歧义主要由类似int (a)的代码引起,此类代码共有3种合法的结构解释:    第一种是声明符a两边具有冗余圆括号的对象声明,其等同于int a;    第二种是函数式转型,它是表达式的一种,其等同于(int) a;    第三种是函数类型标识符,其等同于int f(a b)。    既然一种代码可同时解释为声明、表达式和类型,根据排列组合,共可

2008-02-10 23:31:00 3295

转载 未来游戏设计的十大技术挑战

courtesy IBM,图片:PS3的Cell处理器 1.硬件处理能力 processing power 用神奇处理器重绘西斯廷教堂的天花板 问题:如果电脑的运算速度跟不上游戏指令,画面会跳帧,彻底毁掉玩家的游戏体验。计算能力的限制始终是游戏制作中最令人头痛的问题。此外,它跟本文提到的其他问题都有关系,从实现人工智能到创造真实的物理引擎。 现状:多核技术同时使用多个处理器或者图形处理单元来提高

2007-11-04 17:04:00 1964 2

原创 使命(简化版)

一、序言    只有人类自己才能最终解放自己!到那一天,或许,我们也失去了存在的价值。    从宇宙大爆炸到现在,无数个偶然成就了今日的人类文明,时至今日,已没有任何一种生物能够毁灭人类,除了人类自己;也没有任何一种生物能够解放自己,除了人类自己。或多或少,人类已不同程度向这两个看似截然相反的方向迈开了步伐。二、生物链的最顶端    经过亿万年的演化,人类已稳稳占据生物链的最顶

2007-11-03 16:40:00 2344 1

原创 gcc研究笔记(三)libcpp中的宏扩展机制

 1、libcpp中和宏相关的基础知识libcpp是gcc的C/C++语言预处理器,gcc将C/C++语言预处理器cpp以库的形式独立出来,故取名曰libcpp。libcpp的输出为预处理标记cpp_token序列,为了实现回退机制、预处理指令处理和宏扩展,libcpp分三层输出预处理标记cpp_token序列:a)_cpp_lex_direct:这是预处理标记序列输出的第一层,它直接

2007-04-14 18:14:00 3684 1

原创 gcc研究笔记(二)cp和cpplib的接口

    1 调用接口cp_lexer_get_preprocessor_token: // in cp/ parser.c,C++分析器              => c_lex_with_flags              => 标记C++关键字 c_lex_with_flags: // in c-lex.c,C语言词法分析              => cpp

2006-11-14 22:50:00 4912

原创 gcc研究笔记(一)tree是什么

         在gcc中,几乎所有的东西都是用树结构串起来的,从而形成抽象语法树。tree可以看作是指向树节点的指针,所有的树节点都有一个共同的基类:tree_common。在文件coretypes.h中,tree的定义如下:#ifndef USED_FOR_TARGET...typedef union tree_node *tree; ...#else...#

2006-11-14 22:46:00 2730

原创 从编译器的角度看C代码

1、总论任何一个用C写的项目都是由若干文件构成,通常这些文件分为两大类:头文件和实现文件。头文件的后缀为.h,实现文件的后缀为.c。当然,也有一些文件是其他后缀,但这些文件通常也担当着头文件的角色(项目文件、配置文件及其它数据文件除外)。编译器的输入通常是实现文件,每一个实现文件对编译器来说是一个翻译单元,编译器将其翻译为目标代码,通常是一个obj文件。最后由链接器将所有的obj文件连成一个完

2006-03-24 17:07:00 3175

原创 Visual Parse++的破解经历

今天down了一个Visual Parse++来研究,可没想到连测试版也需要注册码。按照提示发了封索取注册码的邮件,半天不见回应,就干脆自己动手破解。使用OllyDbg加载SSVParse.exe文件,运行一下,还好文件没有加壳,一切正常。破解过程最重要的就是找到对注册码进行操作的代码,方法有很多,但不外乎是设置断点。找了半天没找到SSVParse.exe对GetWindowText的调用,只

2006-03-23 17:04:00 3130 11

原创 消除左递归文法

无法根据左递归文法编写出递归下降分析器,因而把左递归文法等价变换为非左递归文法至关重要,以下是变换的算法:1、消除直接左递归原文法: E --> E a1 | E a2 | ... | E an | b1 | b2 | ... | bn消除后: E --> b1 E | b2 E | ... | bn E              E--> a1 E | a2 E | ..

2006-03-17 17:37:00 10066 1

原创 C语言中typedef用法详解

在C语言中,经常有如下的用法:typedef struct  tag{    ...} MyType, *MyPtr;一旦通过如上定以后,就可以用MyType来定义struct tag结构了。以前我使用typedef的时候,是按照其字面意思理解的,所以进入了一个误区。比如说我想定义MyInt为int类型,我用的代码如下:typedef MyInt int;我把上述代码理解为:定

2006-03-16 16:48:00 12188

原创 vc中new和delete操作符的重载

在C++中重载new和delete操作符可以给程序带来更灵活的存储控制,对于游戏设计等对效率要求较高的应用而言是必不可少的。一般的C++书籍中也会介绍它们的应用和实现,然而在VC中实现却有几个必须注意的地方,否则编译会出现问题。1. 实现首先,vc在每个自动生成的cpp文件中都会加入如下代码:#ifdef _DEBUG#undef THIS_FILEstatic char THIS_F

2006-03-15 09:56:00 4532

原创 使用fopen时应注意的问题

以前在windows下总喜欢使用CFile类来操作文件,最近改用fopen系列函数,却没想到一个不经意的问题让我调试了一整天。打开文件使用的代码如下:FILE* fh = fopen("c:/filename", "r");缺省情况下(当然可以进行设置),文件是以文本模式打开的,因为我们没有使用b标记。这个时候,如果文件数据中含有0x1a就有麻烦了。每当读到0x1a的时候,文件的位置会跳到

2006-03-10 17:15:00 3176

原创 范式哈夫曼编码的快速解码技术

1 引言对前缀编码进行解码时,最重要的问题是如何快速的确定码字的长度。范式哈夫曼编码具有数字序列属性,因而能通过如下算法确定码字的长度:int len = 1; int code = bs.ReadBit(); while(code >= first[len]) {   code    code |= (bs.ReadBit()); // append next input bit to

2006-03-09 14:14:00 8117 2

原创 范式哈夫曼编码(Canonical Huffman Code)

1 概念介绍哈夫曼编码是一种最优的前缀编码技术,然而其存在的不足却制约了它的直接应用。首先,其解码时间为O(lavg), 其中lavg为码字的平均长度;其次,更为最重要的是,解码器需要知道哈夫曼编码树的结构,因而编码器必须为解码器保存或传输哈夫曼编码树。对于小量数据的压缩而言,这是很大的开销。因而,应用哈夫曼编码的关键是如何降低哈夫曼编码树的存储空间。Faller[1973]提出的自适应哈夫曼

2006-03-06 11:02:00 14451 15

原创 vc实现对远程SQL Server数据库的访问

1、远程数据库设远程数据库的ip地址为192.168.0.1,其中testdb数据库中有student表,student表包含两列:name和age。name为char类型,长度为10;age为int类型,长度为4。2、源代码 HENV   hEnv = NULL; // Env Handle from SQLAllocEnv() HDBC   hDBC = NULL; // Conn

2006-03-01 13:52:00 4149

原创 Tcp过滤器的实现

1 引言前段时间做了一个基于IPFILTERDRIVER的ip过滤驱动,使用了一段时间却出现了不少问题:1、首先,IPFILTERDRIVER只能挂接一个驱动。也就是说,如果其他的驱动先挂接了IPFILTERDRIVER,那么我们的安装将失败;2、其次,有的2000pro系统下居然缺少IPFILTERDRIVER驱动组件;3、最后,某些系统会出现997错误,即“重叠IO操作正在进行”。

2006-02-24 14:27:00 3973

原创 编译器的整体构架

编译器多使用: 词法分析->语法分析->中间代码生成->(代码优化)->目标代码生成的流程。 其中词法分析严重影响着编译器的性能,对词法分析的优化很必要。提高词法分析速度的一个主要途径是使用高效的缓冲管理机制。另一个主要的方面就是实现优化的匹配控制流程。 对于词法分析和语法分析有很多的代码自动生成工具,使用这些工具生成的代码据说速度也很快,一般初学者写出的词法分析和语法分析模块的速度很难超过工具生

2005-12-24 11:07:00 5245

原创 正则文法和上下文无关文法

对于文法G=(V, T, S, P),如果产生式的形式如下:A -> xBA -> x其中A, B属于V,x属于T*,则称为右线性文法;相似的,如果产生式的形式如下:A -> BxA -> x则称为左线性文法。右线性文法和左线性文法统称为正则文法。正则表达式的表达能力等价于正则文法,正则表达式的定义如下:字母表中的任意字母是正则表达式,空串和空集也是正则表达式;

2005-12-24 10:52:00 19188 4

原创 乔姆斯基文法

乔姆斯基文法体系共分为4类: 0型文法:也叫短语结构文法或无限制文法,其描述能力相当于图灵机,可使用任何的语法描述形式; 1型文法:也叫上下文有关文法,其描述能力相当于线性有界自动机,语法形式如下: xSy -> xAy 也就是说,S推导出A是和上下文x, y相关的,即S只有在上下文x, y的环境中才能推导出A; 2型文法:也叫上下文无关文法,其描述能力相当于下推自动机,语法形式如下: S ->

2005-12-24 10:35:00 7650

Game Engine Architecture 公开章节

Game Engine Architecture的公开章节,14.6,教你如何更新游戏对象。

2010-11-03

支持汉字的BCGCBPRO库BCGPEditCtrl源文件

基于BCGCBPRO库1030版本修改的BCGPEditCtrl,支持汉字显示和编辑,BCGCBPRO库可以在csdn中下载。目前仍然有几个已知的BUG没有修复:1、放大汉字字体后,光标的定位存在偏移;2、尾行的显示在特定情况下会出现虚行;3、仍然存在汉字显示不正确的个别情况。以后有机会会慢慢修复上述问题。

2010-06-11

基于FreeImage库的简易图像处理系统vc8源码

基于FreeImage库的简易图像处理系统,用于演示C++封装的KFreeImage类使用。 TODO: 1、原始尺寸图片在转换为RGB565格式后会出现色彩问题 2、转换为16位色彩模型后,对图片进行缩放会恢复为24位色彩模型 3、FreeImage的图片缩放算法较慢

2010-06-11

左上填充规则的光栅化演示程序(静态编译发行版)

为了便于理解坐上填充规则,特意做了一个演示程序,只要输入三角形顶点就可以看到渲染结果。我用她来测试我的软件光栅化器,帮了我很大忙,解决了一个困扰我近半个月的问题,希望能给大家带来帮助。如果有人想对该程序进行完善和扩充(有很多想到的实用功能没有实现),我很乐意提供源代码,只需要给我留言即可。

2010-05-13

一个用VC实现的透视投影演示程序

一个透视投影的演示程序,含源代码,VC6工程文件。可以读取3ds文件,用线框显示。具体实现细节可以参考我的Blog。

2010-03-19

BCGCBPRO 修正库文件

对BCGCBPRO1030的修正库文件,主要是对CBCGPEditCtrl控件进行了修改,实现了对汉字等Unicode字符的支持;实现了在只读模式下显示光标。原版的文件在选择汉字的时候会出现乱码情况,在只读模式下不显示光标。库文件用vs9编译,非静态库,包含DEBUG和RELEASE两个版本。

2009-12-28

zziplib库源代码

使用vc8.0调试好的zziplib,可编译通过。

2009-09-30

LL Analyzer

07年编的一个程序,用于分析LL(k)文法,界面不是很好,但还能用。我用它来分析C++语法,压缩包里有一个C++语法的范例。打开程序加载,并编译后,可以慢慢研究。希望对大家有帮助。

2008-11-02

MakeInfo

texinfo是GNU官方文档的标准格式,在windows下没找到打开texinfo文档的程序,所以在windows下重新编译了GNU中的MakeInfo程序。特此发布以帮助那些在windows下研究GNU文档的人。

2006-11-14

空空如也

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

TA关注的人

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