摘要: int wa[15];wa ---> 【数据类型:arr,维度值:15 】--->【 值类型:int 】const int *const volatile* const wa[15];wa ---> 【数据类型:arr,维度值:15 】--->【 修饰符 const 】--->【 值类型:ptr,修饰符: volatile, const 】--->【 值类型:ptr 】--->【 值类型:int ,修饰符: const】int wb[15][6][8];wb ---> 【数据类型:数组,维度值:15 】---> 【数据类型:数组,维度值:6 阅读全文
posted @ 2012-10-08 00:10 cymheart 阅读(300) 评论(0) 推荐(0) 编辑
摘要: const 的用法的原理详细分析起来,一定要给出理由的话,还是比较困难的,但c编译器对const处理的语法规则还是有章可循的。下面就具体分析一下const的语法规则:const int a=2; //const修饰了int ,表示这行代码定义的变量,最后的取的int型的值是常量2,不可被后面的代码修改。int const a=2; //const修饰了变量a ,表示这行代码定义的变量,最后的取的int型的值是常量2,不可被后面的代码修改。const int *a; //const修饰了int ,表示这行代码定义的变量,最后的取的int型的值是常量,不可被后面的代码修改, //但这行代码所定义的 阅读全文
posted @ 2012-10-06 23:37 cymheart 阅读(2265) 评论(0) 推荐(1) 编辑
摘要: css解析器的开发中,碰到一个棘手的问题,就是不能确定其样式的属性和值如何解析,是直接先用字符串代替最终值,还是要计算出最终值,以及一些计算时机的问题,感觉没有谱。现在决定把问题先放下,先做渲染部分,看看需要css样式表的时候,会如何处理。感觉如果有一个需要解决的问题基础,再来解决问题会比较容易。 阅读全文
posted @ 2012-06-20 14:26 cymheart 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 2012.6.11 ver 0.051.解析算法框架已经构建继承了解析html算法的思路,刚开始思考算法的时候并没有意识到与html算法的类似性,之后受一篇关于gcc源码分析文章的启发,才恍然联系起它们的共同点。文章地址:http://blog.csdn.net/sonicling/article/details/67061522012.6.8 ver 0.011.解析算法已经在酝酿中2.CSSStyleSheet 目前设计的存储结构在 试验中 阅读全文
posted @ 2012-06-08 19:16 cymheart 阅读(165) 评论(0) 推荐(0) 编辑
摘要: css选择器分为以下几类:1.元素选择符 Element Selectors2.关系选择符 Relationship Selectors3.属性选择符 Attribute Selectors4.伪类选择符 Pseudo-Classes Selectors5.伪对象选择符 Pseudo-Element Selectors完整的css选择器语法格式:s1=tag_name*(id|class|Pseudo-Classes|[tag_attr]|[tag_attr=value]|other Attribute Selectors)*s2=....同s1s3=...同s1&=Relations 阅读全文
posted @ 2012-06-08 13:16 cymheart 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 2012.6.13 ver 0.321.修改了字符串内存管理方式为每个生成的htmldocument对象 简单使用了一个分页的数组表,由此记录分配内存的字符串地址,最后用来统一删除分配的字符串内存(当htmldocument 对象删除时,进行字符串的统一删除)2012.6.12 ver 0.31.修改了算法框架,现在类似于CSS的解析模式(受到gcc的解析方法的启发)2012.6.8 ver 0.211.修改一个html dom框架理解方面的偏差,使得属性值都用文本方式表示。先前理解为在dom中需要根据不同的属性,解析为不同类型的值,其实在解析dom中没有必要做这一步,反而增添了麻烦,代码改过 阅读全文
posted @ 2012-06-06 19:12 cymheart 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 经过分析,浏览器解析html时的容错处理可以给出以下三种通用方法:1.容错处理:分断(split)作用:分断和父元素不相容的子元素,形成同级元素如<p>中的<p>需要分断2.容错处理:移动(move)作用:移动固定格式父元素中违反格式的子元素到外层以table为例:内层: table的子层外层: table的前向兄弟元素层(table->up_brother_elem)<table>中直接的<font>,text需要移动到外层(<td>中的除外)<table>---<tr>中的<font>,t 阅读全文
posted @ 2012-05-23 08:56 cymheart 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 以下这种情况下:<p>aaaa<font>bbb<p>ccc</p>ddd</font>eee</p>浏览器会"分断"<p>标签,变成:<p>aaaa<font>bbb</font></p><p><font>ccc</font></p><font>ddd</font>eee<p></p>分断方法是在html形成dom树的时候,p标签以及内容已经被添加 阅读全文
posted @ 2012-05-16 23:50 cymheart 阅读(856) 评论(0) 推荐(0) 编辑
摘要: 块级标签: html的块级标签意味着,块级标签将生成块级元素层,被块级标签包围内容的布局将受到块级元素层范围的控制。内联标签: html的内联标签意味着,被内联标签包围的内容布局范围上只受到当前父元素层控制,属性上受到内联标签的控制。内联标签的内容可以包含块级标签和内联标签块级标签的内容可以包含内联标签和块级标签块级元素层:1. 块级标签生成块级元素层。 2. 块级元素层中内容的布局被控制在块级元素层的 obb-box范围内。 3. 块级元素层自身被关联为当前父元素层的子层, 其布局被控制在父层obb-box范围内。 内联元素层: 1. 内联标签不生成元素层。 2. 内联标签中的内容生成内.. 阅读全文
posted @ 2012-05-05 10:10 cymheart 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 矢量图形的绘制归根结底是任意多边形的绘制。比如一个填充圆,就是取圆上许多的点依次连接并填充内部构成的图形,虽然人肉眼看到的还是"圆"形,但它却是实实在在的多边形构造的。再比如说直线,其实也就是4边形,只不过它是一个又窄又长的内部被填充的4边形。任意多边形是如何绘制于电脑屏幕的呢?很显然"多边形扫描线填充算法"能很好的工作,当然,这个算法用在矢量图形处理上,细节上还需要有所改进。特别是要注意到矢量图形绘制中有所谓的"奇偶填充规则","非零填充规则"等,我只说说"(nonzero fill)非零填充" 阅读全文
posted @ 2012-03-01 08:01 cymheart 阅读(2884) 评论(0) 推荐(1) 编辑