LCC编译器的源程序分析(69)全局变量的初始化

前面已经介绍了全局函数和全局变量的声明处理,但全局变量的初始化,还没有详细地分析,现在就来干这件事情。比如编写C的程序,有如下的代码: #001 #002int g_nTest = 100; #003 #004int main(void) #005{ #006int nTest1 ...

2007-08-31 22:07:00

阅读数:7

评论数:0

Windows API一日一练(24)DrawText函数

DrawText函数与前面介绍的TextOut函数都是文本输出函数,但它们是有区别的。DrawText函数是格式化输出函数,而TextOut函数不具备这样的功能。因而DrawText函数比TextOut函数功能强大,可以让文本输出时左对齐,或者右对齐,或者中间对齐,还可以让文本适应输出矩形内,如...

2007-08-27 22:55:00

阅读数:6

评论数:0

Windows API一日一练(23)SetTextColor函数

世界是多姿多彩的,色彩是不可以缺少的。在软件开发里,不同的字符颜色往往用来区分不同的数据类型,比如严重的警告,就是使用红色,当然这也是跟交通里红绿灯是一样的道理。最根本的原因,还是人类对自然的选择。毕竟人眼对不同的颜色作出了不同的选择。由于红色光波穿透性比较好,所以就形成以红色来警告的信号。说来...

2007-08-26 21:37:00

阅读数:8

评论数:0

LCC编译器的源程序分析(68)内存分配链表

LCC采用大块内存的方法,那它分配内存也是比较特殊的,它的源程序如下: #001//大块内存结构。 #002struct block #003{ #004 struct block *next; //后继块指针。 #005 char *limit; //尾位置 #006 char *a...

2007-08-26 11:35:00

阅读数:6

评论数:0

dijit.form.ValidationTextbox

功能强大的文本框:dijit.form.ValidationTextbox 这个文本输入框的功能比较强大,关键是它能够提供一些常用的验证和大小写转换。下面介绍一个例子和一些常用的属性: <html> <head&a...

2007-08-24 16:23:00

阅读数:7

评论数:0

dojo.data

dojo0.9的store核心内容。最近研究了一些,也翻译了一些,贴出来和大家分享。dojo的更多内容可以上: www.dojocn.cn 上查看。 一下内容是原创,转载请注明: dojo.data 是什么? dojo.data DojoX dojo.data ...

2007-08-24 15:21:00

阅读数:6

评论数:0

dojo0.9的第一个实例

dojo0.9已经发布有一段时间了,研究dojo 0.9 也有一周的时间了吧。总想写一些什么,但是思路比较乱,不知从何说起。dojo也许是将来的一个趋势,但是也许appolo可能会比他更有竞争力。到底dojo是夕阳技术,还是朝阳技术,等待历史的验证吧。不过现在我们小组决定下一期的项目主要采用d...

2007-08-24 15:02:00

阅读数:6

评论数:0

LCC编译器的源程序分析(67)删除内存链表

LCC的内存分配是使用先分配大块内存,然后再从大块内存里分配出来小块内存,这样减少调用malloc的次数,当然也就减少调用函数free释放内存的次数,以便提高LCC的内存管理的性能。有网友对这个看不懂,我现在就把释放内存函数分析如下: #001// #002//删除内存链表. #...

2007-08-23 21:50:00

阅读数:6

评论数:0

sql企业管理器打不开 怎么办

关于MMC不能打开文件C:/Program Files/Microsoft SQL Server/80/Tools/Binn/SQL Server Enterprise Manager.MSC可能是由于文件不存在,不是一个MMC控制台,或者用后来的MMC版本创建。也可能你没有访问此文件的足够权限 ...

2007-08-22 15:38:00

阅读数:6

评论数:0

字符串截取的几个function

function cutstr(thestr,strlen) dim l,t,c l=len(thestr) t=0 for dxy=1 to l c=Abs(asc(Mid(thestr,dxy,1))) if c>255 then t=t+2 else t=t+1 e...

2007-08-22 15:37:00

阅读数:18

评论数:0

存储过程类型参照表

adDBTimeStamp 135 日期时间数据类型   adDecimal 14 十进制整数值   adDouble 5 双精度小数值   adError 10 系统错误信息 AdGUID 72 全域性唯一识别字(Globally unique identifier) a...

2007-08-22 15:35:00

阅读数:11

评论数:0

Windows API一日一练(22)TextOut函数

文本输出,从来就是比较常用的方式,自从发明文字以来,就应缺少不了文字的显示了。在以前,是书写到白纸上,让别人看懂它。现在到了信息的时代,当然是显示在屏幕上,即使你是不懂书法的,也可以显示出惊人的书法文字出来。在窗口里显示文字出来,就可以使用TextOut函数,当然不只这一个API函数可以显示字符...

2007-08-16 16:35:00

阅读数:12

评论数:0

LCC编译器的源程序分析(66)DAG树分析例子

前面已经介绍创建分析树,下面就来详细地说明一个例子,看看到底生成什么样的分析树,C源程序如下: #005int nTest1 = 1; #006int nTest2 = 2; #007int nTest3; #008int i; #009 #010nTest3 = nTest1 +...

2007-08-13 22:47:00

阅读数:10

评论数:0

LCC编译器的源程序分析(65)后端接口的结构注释

因为LCC后端可以生成不同机器结构的代码,所以需要定义后端的接口结构,当不同的模块实现这些接口时,就可以实现不同的机器代码生成。下面就是这个接口的结构定义注释。 #001//后端代码生成的接口. #002 typedef struct interface #003{ #00...

2007-08-11 19:20:00

阅读数:5

评论数:0

LCC编译器的源程序分析(64)符号表的结构注释

符号表是用来保存每个符号信息的,因为编译器分析源程序的过程会生成很多符号的属性,后端根据这些属性来生成合适的指令和代码的格式。 #001//符号表结构. #002// #003//蔡军生2007/08/10 QQ:9073204 #004// #005struct symbo...

2007-08-10 21:32:00

阅读数:5

评论数:0

LCC编译器的源程序分析(63)创建DAG森林的源程序

#001// #002void walk(Tree tp, int tlab, int flab) #003{ #004//创建DAG森林. #005listnodes(tp, tlab, flab); #006 #007//如果DAG森林生成. #008if (fores...

2007-08-09 21:55:00

阅读数:5

评论数:0

LCC编译器的源程序分析(62)生成常量树节点的流程

在LCC里分析下面的语句: #005int nTest1 = 1; 就需要把1生成一个常量树节点,那么在LCC里用怎么样的流程来创建这个树节点的呢?这个过程大体是这样的: 当碰到赋值符号后,就需要分析表达式,于是调用函数获取记号函数CCaiCompiler::Instance()-...

2007-08-07 21:45:00

阅读数:5

评论数:0

Windows API一日一练(21)SetWindowLongPtr和GetWindowLongPtr函数

在软件开发里,大家一直对着这个问题是执着的,那是“复用”。总想自己写出来的代码,可以适应性很强,到那里都可以落地生根。因此,面向对象的语言就层出不穷,每个都坚称可以最大地复用代码。在面向对象里,C++是非常强大的。下面就来用C++把上面介绍的程序封装起来,这样可以复用,或者说条理更加清晰。 ...

2007-08-04 08:55:00

阅读数:15

评论数:0

LCC编译器的源程序分析(61)复合语句的代码块流程

LCC编译器要分析下面的程序,大体流程是这样的。 #001#include <stdio.h> #002 #003int main(void) #004{ #005int nTest1 = 1; #006int nTest2 = 2; ...

2007-08-03 20:39:00

阅读数:2

评论数:0

Windows API一日一练(20)LoadString、LoadIcon和LoadCursor函数

在编写国际化的应用程序里,经常要使用不同语言的字符串。比如中文菜单里叫做“文件”,而在英语里叫做“File”。开发这种软件的功能是一样的,只是界面上显示的文字不一样而已。为了方便这种软件的开发,在Windows里经常使用的方法就是替换掉显示的字符串,比如指定在中文里就显示“文件”,在英语里就显示“...

2007-08-02 13:08:00

阅读数:9

评论数:0

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