2007年08月
前面已经介绍了全局函数和全局变量的声明处理,但全局变量的初始化,还没有详细地分析,现在就来干这件事情。比如编写C的程序,有如下的代码:阅读全文>
发表于 @ 2007年08月31日 22:07:00|评论(loading...)|编辑
当你看到Windows显示的按钮时,背景颜色是灰色的。当你看到缺省的窗口背景时,它是白色的。当你的老板需要你创建一个黑色背景的按钮时,你会怎么样做呢?其实在Windows里先用API函数CreateSolidBrush创建画刷,然后调用FillRect函数来填充背景。这样来,不管你需要什么样的背景,都随心所欲了吧。现在先来搞懂CreateSolidBrush函数,下次再来练习FillRect。阅读全文>
发表于 @ 2007年08月29日 22:54:00|评论(loading...)|编辑
DrawText函数与前面介绍的TextOut函数都是文本输出函数,但它们是有区别的。DrawText函数是格式化输出函数,而TextOut函数不具备这样的功能。因而DrawText函数比TextOut函数功能强大,可以让文本输出时左对齐,或者右对齐,或者中间对齐,还可以让文本适应输出矩形内,如果超出时可以截断,或者显示为省略号的方式。DrawText函数在表格方式显示时肯定要使用到的函数。
阅读全文>
发表于 @ 2007年08月27日 22:55:00|评论(loading...)|编辑
世界是多姿多彩的,色彩是不可以缺少的。在软件开发里,不同的字符颜色往往用来区分不同的数据类型,比如严重的警告,就是使用红色,当然这也是跟交通里红绿灯是一样的道理。最根本的原因,还是人类对自然的选择。毕竟人眼对不同的颜色作出了不同的选择。由于红色光波穿透性比较好,所以就形成以红色来警告的信号。阅读全文>
发表于 @ 2007年08月26日 21:37:00|评论(loading...)|编辑
LCC采用大块内存的方法,那它分配内存也是比较特殊的,它的源程序如下:
阅读全文>
发表于 @ 2007年08月26日 11:35:00|评论(loading...)|编辑
LCC的内存分配是使用先分配大块内存,然后再从大块内存里分配出来小块内存,这样减少调用malloc的次数,当然也就减少调用函数free释放内存的次数,以便提高LCC的内存管理的性能。阅读全文>
发表于 @ 2007年08月23日 21:50:00|评论(loading...)|编辑
文本输出,从来就是比较常用的方式,自从发明文字以来,就应缺少不了文字的显示了。在以前,是书写到白纸上,让别人看懂它。现在到了信息的时代,当然是显示在屏幕上,即使你是不懂书法的,也可以显示出惊人的书法文字出来。在窗口里显示文字出来,就可以使用TextOut函数,当然不只这一个API函数可以显示字符了。TextOut函数是使用当前设备的属性来显示文字的,比如设备属性有字体类型,字体的颜色,字体背景的颜色等等。
阅读全文>
发表于 @ 2007年08月16日 16:35:00|评论(loading...)|编辑
前面已经介绍创建分析树,下面就来详细地说明一个例子,看看到底生成什么样的分析树,C源程序如下:阅读全文>
发表于 @ 2007年08月13日 22:47:00|评论(loading...)|编辑
因为LCC后端可以生成不同机器结构的代码,所以需要定义后端的接口结构,当不同的模块实现这些接口时,就可以实现不同的机器代码生成。下面就是这个接口的结构定义注释。
阅读全文>
发表于 @ 2007年08月11日 19:20:00|评论(loading...)|编辑
符号表是用来保存每个符号信息的,因为编译器分析源程序的过程会生成很多符号的属性,后端根据这些属性来生成合适的指令和代码的格式。阅读全文>
发表于 @ 2007年08月10日 21:32:00|评论(loading...)|编辑
在LCC里分析下面的语句:
#005 int nTest1 = 1;
阅读全文>
发表于 @ 2007年08月07日 21:45:00|评论(loading...)|编辑
在软件开发里,大家一直对着这个问题是执着的,那是“复用”。总想自己写出来的代码,可以适应性很强,到那里都可以落地生根。因此,面向对象的语言就层出不穷,每个都坚称可以最大地复用代码。在面向对象里,C++是非常强大的。阅读全文>
发表于 @ 2007年08月04日 08:55:00|评论(loading...)|编辑
在编写国际化的应用程序里,经常要使用不同语言的字符串。比如中文菜单里叫做“文件”,而在英语里叫做“File”。开发这种软件的功能是一样的,只是界面上显示的文字不一样而已。阅读全文>
发表于 @ 2007年08月02日 13:08:00|评论(loading...)|编辑