大运天成赖搏击

进步最重要

导航

09 2012 档案

使用Flex Bison 和LLVM编写自己的编译器[zz]
摘要:1、介绍我总是对编译器和语言非常感兴趣,但是兴趣并不会让你走的更远。大量的编译器的设计概念可以搞的任何一个程序员迷失在这些概念之中。不用说,我也曾 今尝试过,但是并没有取得太大的成功,我以前的尝试都停留在语义分析阶段。本文的灵感主要来源于我最近一次的尝试,并且在这一次中我取得一点成就。幸运的是,最近的几年,我参加了一些项目,这些项目给了我在建立编译器上很多有用的经验和观点。另外一件事是,我非常幸运得到LLVM的帮助。对于这个工具,我不知道改怎么去形容它,但是他给我的这个编译器的确带来非常大的帮助。1.1、你为什么要阅读本文你也许想看看我正在做的事情,但是更有可能的是,你也是和我一样对编译器和语 阅读全文

posted @ 2012-09-26 17:30 linucos 阅读(1832) 评论(1) 推荐(0) 编辑

使用bison和flex工具[zz]
摘要:这里有一个使用bison建立一个简单的计算器的例子:http://www.cs.berkeley.edu/~maratb/cs164/bison.html使用bison和flex工具学习编译原理,远比单独看书然后自己编写一些程序生动的多。这样你就不会在那些复杂的字符处理,正则表达式的处理上浪费精力,最后费尽心力,却没有结果,失去了学习的兴趣。我这里有一个简单的计算器的程序,可以实现加、减、乘、除运算,并支持括号的处理和26个字母作为变量。以前自己使用后缀表达式方式写过一个这样的程序,单单中缀表达式改为后缀表达式就是几百行的代码,反正自己现在还是不知道怎么处理里面复杂的堆栈的(我用了STL的Li 阅读全文

posted @ 2012-09-26 16:15 linucos 阅读(566) 评论(0) 推荐(0) 编辑

应用开发框架讨论-系统日志-wxLog
摘要:完善的应用框架,应包含系统日志,作为调试、跟踪、解决BUG的重要手段之一,应给予支持!wxLog是wxWidgets提供的LOG类,接口方便,调试手段多样,尤其针对GUI开发,无法直观的做出类似控制台程序输出的调试输出,给出了方便的LOG窗口.1. 头文件#include <wx/log.h>2. 简单代码wxLogWindow *LogWindow = new wxLogWindow(this, _(""));其中的this是程序的主窗口指针即可.3. 其他需要输出调试的地方,使用wxLogMessage类似的API即可,输出内容到LogWindow上.其他方 阅读全文

posted @ 2012-09-19 15:31 linucos 阅读(451) 评论(0) 推荐(0) 编辑

应用开发框架讨论-应用配置-wxFileConfig
摘要:完善的应用框架,应包含应用保存和读取配置参数的相关类或接口,不能让用户繁琐的去操作文件,这样会低效且不稳定、不容易维护.wxFileConfig作为wxWidgets框架提供的配置接口的一个,跨平台,简单易用.当然,如wxRegConfig和wxConfig等,也非常好用,这里只抛砖引玉,介绍最常用和通用的.wxFileConfig,顾名思义,文件配置类,继承并提供了方便易用的接口,例子如下:1. 需下列头文件#include <wx/config.h>#include <wx/fileconf.h>2. 简单代码定义2个宏,方便使用wxFileConfig构造参数意思 阅读全文

posted @ 2012-09-19 14:42 linucos 阅读(870) 评论(0) 推荐(0) 编辑

开发CodeBlocks插件(1)-入门篇
摘要:CodeBlocks + wxWidgets + wxSmith + Plugin,同时跨平台,这样的开发方式,相信一定有你着迷的地方!本文简要说明,如何开发一个CodeBlocks的插件:0. 本文环境Codeblocks-10.05mingw.exe Codeblocks-10.05-src.tar.gz wxPack-2.8.10.06.exe1. 新建工程,类型选择:Code::Blocks plugin2. 填写基本信息,选择wxWidgets版本 2.8.x3. 需要设置的比较重要的变量是 wx和cb,wx这个变量大家都知道是wxWidgets的目录,wxPack安装后,即可得到c 阅读全文

posted @ 2012-09-17 13:35 linucos 阅读(2410) 评论(0) 推荐(0) 编辑

编码和字体[zz]
摘要:地址:http://blog.chinaunix.net/uid-13423994-id-3212291.html一直有个疑问:字体文件使用什么编码来组织字体(字形)信息的?今天查到一个资料,按资料上的说法,字体文件中的字形信息的组织应该是按照UNICODE编码来组织的,也就是说我们如果要显示一个字符串,则需要对每一个字符找出其UNICODE编码,然后通过UNICODE编码在字体文件中查找字形信息。以下是资料的内容:(资料来源:http://bbs.nankai.edu.cn/cgi-bin/bbs/bbsanc?path=/PersonalCorpus/M/mechanics/DADC75C 阅读全文

posted @ 2012-09-11 18:42 linucos 阅读(532) 评论(0) 推荐(0) 编辑

ANSI/UTF-8/UCS2(UTF-16),以及回车换行[zz]
摘要:地址:http://blog.csdn.net/ab6326795/article/details/7901915最近遇到一个linux 平台上invisible character (0x1d)引起的数据装载失败问题,正好借此机会整理一下字符编码的相关知识。回车/换行:=================顾名思义,回车和换行是两个不同的控制字符:-回车(Carriage Return)即\r,ascii码13(0x0d),作用是将光标移到一行的开始位置- 换行(LineFeed)即\n,ascii码10(0x0a),作用是将光标移到下一行在不同的操作系统平台上,默认是用不同的控制符来标志一行的 阅读全文

posted @ 2012-09-11 18:24 linucos 阅读(1334) 评论(0) 推荐(0) 编辑

字符集和字符编码(Charset & Encoding)[zz]
摘要:地址:http://www.cnblogs.com/skynet/archive/2011/05/03/2035105.html——每个软件开发人员应该无条件掌握的知识! ——Unicode伟大的创想! 相信大家一定碰到过,打开某个网页,却显示一堆像乱码,如"бЇЯАзЪСЯ"、"�????????"?还记得HTTP中的Accept-Charset、Accept-Encoding、Accept-Language、Content-Encoding、Content-Language等消息头字段?这些就是接下来我们要探讨的。目录:1.基础知识2.常用字符集和字 阅读全文

posted @ 2012-09-11 18:13 linucos 阅读(436) 评论(0) 推荐(0) 编辑

GUI程序如何使用控制台输出调试信息[zz][MFC调用win32窗口显示调试信息,使用AllocConsole 函数 ]
摘要:地址:http://blog.csdn.net/huiyouyongdeyu2011/article/details/6556168AllocConsole Function 为主调进程分配一个新的控制台。 语法 C++ : BOOL WINAPI AllocConsole(void); 参数: 无 返回值:如果函数成功,返回值是非零值;如果函数失败,返回值是零值。 备注: 一个进程仅能关联一个控制台,所以该函数在主调进程已经具有控制台时将会失败。 一个进程可以使用 FreeConsole 函数来释放与之关联的控制台,之后它就可以调用该函数来创建一个新的控制台或使用 AttachConsole 阅读全文

posted @ 2012-09-10 16:41 linucos 阅读(1595) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示