摘要:
LCC的内存分配是使用先分配大块内存,然后再从大块内存里分配出来小块内存,这样减少调用malloc的次数,当然也就减少调用函数free释放内存的次数,以便提高LCC的内存管理的性能。有网友对这个看不懂,我现在就把释放内存函数分析如下:#001//#002//删除内存链表.#003//#004//蔡军生2007/08/23 QQ:9073204深圳#005//#006void deallocate(unsigned a) #007{#008//调试使用,确认数组下标不大于定义的值.#009assert(a < NELEMS(arena));#010#011//保存空闲链表到要释放的链表尾. 阅读全文
posted @ 2007-08-23 21:50
ajuanabc
阅读(162)
评论(0)
推荐(0)
摘要:
<html> <head> <script> function submitit1() //交由程序1处理 { document.myForm.action = "http://www.site.com/cgi1.php" document.myForm.submit(); } function submitit2() //交由程序2处理 { document.myForm.action = "http://www.site.com/cgi2.php" document.myForm.submit(); } </ 阅读全文
posted @ 2007-08-23 17:18
ajuanabc
阅读(175)
评论(0)
推荐(0)
摘要:
访问次数,在统计页面加入以下这个代码<SCRIPT src="static_click.asp?articleid=<%=articleid%>"></SCRIPT >对应的ASP文件为<!-- #include file="inc/conn.asp" --><%articleid=int(trim(request.querystring("articleid")))sqlStr="update product set hits=hits+1 where articlei 阅读全文
posted @ 2007-08-22 09:39
ajuanabc
阅读(142)
评论(0)
推荐(0)
摘要:
<script language="javascript">function popwin3(path){window.open(path,"cart","height=520,width=520,resizable=no,scrollbars=yes,status=no,toolbar=no,menubar=no,location=no");}//window('链接','窗体名','其它参数') 关键是窗体名,加了窗体名就不会打开两次.至于改变的值可以通过链接参数来实现 阅读全文
posted @ 2007-08-21 19:47
ajuanabc
阅读(109)
评论(0)
推荐(0)
摘要:
文本输出,从来就是比较常用的方式,自从发明文字以来,就应缺少不了文字的显示了。在以前,是书写到白纸上,让别人看懂它。现在到了信息的时代,当然是显示在屏幕上,即使你是不懂书法的,也可以显示出惊人的书法文字出来。在窗口里显示文字出来,就可以使用TextOut函数,当然不只这一个API函数可以显示字符了。TextOut函数是使用当前设备的属性来显示文字的,比如设备属性有字体类型,字体的颜色,字体背景的颜色等等。函数TextOut声明如下:WINGDIAPI BOOLWINAPI TextOutA( __in HDC hdc, __in int x, __in int y, __in_ecount(c 阅读全文
posted @ 2007-08-16 16:35
ajuanabc
阅读(342)
评论(0)
推荐(0)
摘要:
<div class="white" style="margin-bottom:-10px"> <%=date%> </div> 阅读全文
posted @ 2007-08-15 18:27
ajuanabc
阅读(130)
评论(0)
推荐(0)
摘要:
前面已经介绍创建分析树,下面就来详细地说明一个例子,看看到底生成什么样的分析树,C源程序如下:#005int nTest1 = 1;#006int nTest2 = 2;#007int nTest3;#008int i;#009#010nTest3 = nTest1 + nTest2;把上面的源程序分析后,就生成下面的DAG树,如下:#2 ADDRLP4 count=1 nTest1#3 CNSTI4 count=1 1'1 ASGNI4 count=0 #2 #3 4 4左子树是ADDRLP4,右子树是CNSTI4,根节点是ASGNI4。这是第5行的树。#2 ADDRLP4 coun 阅读全文
posted @ 2007-08-13 22:47
ajuanabc
阅读(237)
评论(0)
推荐(0)
摘要:
因为LCC后端可以生成不同机器结构的代码,所以需要定义后端的接口结构,当不同的模块实现这些接口时,就可以实现不同的机器代码生成。下面就是这个接口的结构定义注释。#001//后端代码生成的接口.#002 typedef struct interface #003{#004//数据类型.#005Metrics charmetric;#006Metrics shortmetric;#007Metrics intmetric;#008Metrics longmetric;#009Metrics longlongmetric;#010Metrics floatmetric;#011Metrics dou 阅读全文
posted @ 2007-08-11 19:20
ajuanabc
阅读(240)
评论(0)
推荐(0)
摘要:
符号表是用来保存每个符号信息的,因为编译器分析源程序的过程会生成很多符号的属性,后端根据这些属性来生成合适的指令和代码的格式。#001//符号表结构.#002//#003//蔡军生2007/08/10 QQ:9073204#004//#005struct symbol #006{#007char *name; //符号的名称,大多数情况是源程序的符号.#008int scope; //符号作用域.#009Coordinate src; //符号出现在文件中的行号和列号.#010Symbol up; //#011List uses;#012int sclass; //符号的类型.#013unsi 阅读全文
posted @ 2007-08-10 21:32
ajuanabc
阅读(165)
评论(0)
推荐(0)
摘要:
#001//#002void walk(Tree tp, int tlab, int flab) #003{#004//创建DAG森林.#005listnodes(tp, tlab, flab);#006#007//如果DAG森林生成.#008if (forest) #009{#010 Node list = forest->link;#011 forest->link = NULL;#012#013 //把多次引用的DAG节点,修改为对临时变量的引用.#014 if (!IR->wants_dag && errcnt == 0)#015 {#016 list 阅读全文
posted @ 2007-08-09 21:55
ajuanabc
阅读(137)
评论(0)
推荐(0)