http://www.yuv.info/ 关于YUV简介同时给出以下链接
Thursday, December 08, 2005
Wednesday, November 30, 2005
嵌入式根文件系统常见种类
《Building Embedded Linux System》第8章第1节介绍了常见根文件系统,
CRAMFS, JFFS2, JFFS, Ext2 over NFTL, Ext3 over NFTL, Ext2 over RAM disk。
文件系统的主要特性有:
Write, Persistent, Powr down reliability, Compression, Lives in RAM。
可写性(Write)指是否可向文件系统写内容,除CRAMFS外都支持。
持久性(Persistent)指文件系统修改效果重启后是否还在,
CRAMFS和Ext2 over RAM disk外都有。
对文件修改时突然掉电时修改是否存在(Poer down reliability)
只有JFFS2,JFFS和Ext3 over NFTL具备。
压缩性(Compression)指文件系统的内容是压缩的,CRAMFS和JFFS2有。
文件系统挂载时其内容是否从存储介质一次性进驻内存(Lives in RAM),
只有Ext2 over RAM disk才这么干。
书中表8.1以二维表的形式列出文件系统与它们支持的特性,
并在其后章节中加入说明各种文件系统。
CRAMFS, JFFS2, JFFS, Ext2 over NFTL, Ext3 over NFTL, Ext2 over RAM disk。
文件系统的主要特性有:
Write, Persistent, Powr down reliability, Compression, Lives in RAM。
可写性(Write)指是否可向文件系统写内容,除CRAMFS外都支持。
持久性(Persistent)指文件系统修改效果重启后是否还在,
CRAMFS和Ext2 over RAM disk外都有。
对文件修改时突然掉电时修改是否存在(Poer down reliability)
只有JFFS2,JFFS和Ext3 over NFTL具备。
压缩性(Compression)指文件系统的内容是压缩的,CRAMFS和JFFS2有。
文件系统挂载时其内容是否从存储介质一次性进驻内存(Lives in RAM),
只有Ext2 over RAM disk才这么干。
书中表8.1以二维表的形式列出文件系统与它们支持的特性,
并在其后章节中加入说明各种文件系统。
Friday, November 25, 2005
招聘的广告
如今,看国内的招聘广告几乎清一色的薪水面议,
我不知道是这些用人单位在炫耀自己有多么出色的评估能力,
还是什么别的原因,
比如,你在面试时越能蒙,我就给你高点,不然少点。
也许是这些雇主认为现在求职的人多了,
自己的买方市场,
总会有人来找这份工作的,
难怪企业都是短命的,
活过了十来年的也是浑身上下没一处还是完好的。
我不知道是这些用人单位在炫耀自己有多么出色的评估能力,
还是什么别的原因,
比如,你在面试时越能蒙,我就给你高点,不然少点。
也许是这些雇主认为现在求职的人多了,
自己的买方市场,
总会有人来找这份工作的,
难怪企业都是短命的,
活过了十来年的也是浑身上下没一处还是完好的。
Thursday, November 24, 2005
嵌入式linux系统
嵌入式linux系统涉及颇多,
诚如《Building Embeded Linux System》一书概括的,
嵌入式意味着要从软件和硬件两方面进行开发、编程和调试,
Linux系统需要有Unix系统管理任务,如硬件配置,系统设置维护及用shell脚本自动化,
嵌入式Linux系统更多的还要知道开发调试各种Linux设备驱动,及内核操作,
大凡在Linux下开发不可避免地要有效使用GNU工具包括各种不同工具的诸多选项。
人云“不谋万事者,不足以谋一时”,
一旦想要涉足嵌入式Linux系统这个领域,
就应当就上述各方面进行布局,
并不断操练提高,才是长久之计。
《Building Embeded Linux System》是一本不错的总纲,
还提供了一个几乎可套用的worksheet,值得一阅。
《Linux Devices Driver》则是一本专门讲述Linux下设备驱动开发的书籍,
其它方面实在还没找到很经典的,gnu官方网站的文档值得关注。
诚如《Building Embeded Linux System》一书概括的,
嵌入式意味着要从软件和硬件两方面进行开发、编程和调试,
Linux系统需要有Unix系统管理任务,如硬件配置,系统设置维护及用shell脚本自动化,
嵌入式Linux系统更多的还要知道开发调试各种Linux设备驱动,及内核操作,
大凡在Linux下开发不可避免地要有效使用GNU工具包括各种不同工具的诸多选项。
人云“不谋万事者,不足以谋一时”,
一旦想要涉足嵌入式Linux系统这个领域,
就应当就上述各方面进行布局,
并不断操练提高,才是长久之计。
《Building Embeded Linux System》是一本不错的总纲,
还提供了一个几乎可套用的worksheet,值得一阅。
《Linux Devices Driver》则是一本专门讲述Linux下设备驱动开发的书籍,
其它方面实在还没找到很经典的,gnu官方网站的文档值得关注。
Wednesday, November 23, 2005
STL容器的内存增长
在C语言中,如果我们分配了一个能容纳10个元素的数组arr,
如果arr中已经含有了10个元素,我们又想向其中加入一个元素,
这时就需要进行内存重分配了,
向C++标准STL容器添加元素同样会面临类似的内存增长问题。
完成上述所需任务,我们需要做以下几件事:
1.分配有足够空间的一块新内存;
2.把原数组所有元素复制到新内存;
3.销毁原数组的所有元素对象;
4.释放原数组所占内存空间。
由上可见,内存重新分配后元素通常都不再保存在原有的内存地址,
内存重新分配捎带进行的元素复制代价不菲(复制元素,销毁对象、释放内存)。
C++把内存管理的重任从程序员肩上挑了过去,
每当调用insert或者push_back/front等添加元素到STL容器中会自动判断是否进行上述4步。
可以想像出,如果在内存重分配前用一些指针变量保存了数组arr的元素地址,
在进行重分配后,这些指针通常都将指向无效的地址。
向C++的STL的容器中加入新元素时,
此前保存的迭代器变量遇到内存增长后也将是无效的。
避免内存重分配在程序运行效率、正确性方面都有重要意义,
如果在C++程序中确切知道某个容器需要容纳的元素总数,
可以直接用reserve成员预留出足够的空间,
使其后向其增加元素不会引起内存增长。
如果arr中已经含有了10个元素,我们又想向其中加入一个元素,
这时就需要进行内存重分配了,
向C++标准STL容器添加元素同样会面临类似的内存增长问题。
完成上述所需任务,我们需要做以下几件事:
1.分配有足够空间的一块新内存;
2.把原数组所有元素复制到新内存;
3.销毁原数组的所有元素对象;
4.释放原数组所占内存空间。
由上可见,内存重新分配后元素通常都不再保存在原有的内存地址,
内存重新分配捎带进行的元素复制代价不菲(复制元素,销毁对象、释放内存)。
C++把内存管理的重任从程序员肩上挑了过去,
每当调用insert或者push_back/front等添加元素到STL容器中会自动判断是否进行上述4步。
可以想像出,如果在内存重分配前用一些指针变量保存了数组arr的元素地址,
在进行重分配后,这些指针通常都将指向无效的地址。
向C++的STL的容器中加入新元素时,
此前保存的迭代器变量遇到内存增长后也将是无效的。
避免内存重分配在程序运行效率、正确性方面都有重要意义,
如果在C++程序中确切知道某个容器需要容纳的元素总数,
可以直接用reserve成员预留出足够的空间,
使其后向其增加元素不会引起内存增长。
Tuesday, November 22, 2005
你是不是故意的呀?
记得韩国人李健熙刚从日本学成回国接掌父亲留下的三星集团,
向日本藉的员工发飚:
听说你们日本人做事向来都很认真负责,
做出来的产品都讲质量的,
可是为什么你们在三星做的却不是这样,
是不是你们只给日本做才可以做成那样?
底下的日本员工这样回答他:
不是这样的,老板,
我们也想认真负责,也想把产品做好,
可是决策层今天要我们做一台冰箱,明天又让我们搞个电视,
忙不过来呀,老板。
于是小李子说:好吧,从今天起你们就给我只做一台电视,
于是三星就把所有的精力砸在那台电视机上,
做出质量过硬的电视后,三星又把精力放到另一个数码产品上,
于是三星就从一个不怎么起眼的N流企业慢慢地挤到一流。
小时候课本上也讲起宴子出使齐国(或者是楚国,记不太清了)说过,
桔子到了北方结出来的果子就变成了枳子,
可是如今我们有时候还是不能好好理解其中的玄机,
有时候我们还会这样说:
那小子在学校时考试年年都披红挂绿,没想到如今竟然怎样怎样。
你小子原来在我的项目组做的东西狗屎不是,现在做得这样好,是不是故意呀?
我想这样的话说过一次是可以原谅的,因为无知嘛。
如果重复地又说了一次也可以原谅,因为不小心了。
如果说过或听过两次以后自己还要说,那就有点悲哀了,
倘若乐此不疲地逢人就说,那是无可救药了。
别人考试老不如你,那仅仅是过去,
可能是那时人家因为无知或者幼稚没怎么去好好学,
也可能是方法不当学得效率很低或者其它什么原因,
但是如今人家不是也不需要跟你比考试了,你干嘛还这么无知?
人家在你手下的时候项目是由你来支配的,
也许做出来的烂东西正是按照你想法来做的,
也许你没有发现并发挥人家所擅长的能力,
总之你应该羞愧自己而不是去追究别人。
向日本藉的员工发飚:
听说你们日本人做事向来都很认真负责,
做出来的产品都讲质量的,
可是为什么你们在三星做的却不是这样,
是不是你们只给日本做才可以做成那样?
底下的日本员工这样回答他:
不是这样的,老板,
我们也想认真负责,也想把产品做好,
可是决策层今天要我们做一台冰箱,明天又让我们搞个电视,
忙不过来呀,老板。
于是小李子说:好吧,从今天起你们就给我只做一台电视,
于是三星就把所有的精力砸在那台电视机上,
做出质量过硬的电视后,三星又把精力放到另一个数码产品上,
于是三星就从一个不怎么起眼的N流企业慢慢地挤到一流。
小时候课本上也讲起宴子出使齐国(或者是楚国,记不太清了)说过,
桔子到了北方结出来的果子就变成了枳子,
可是如今我们有时候还是不能好好理解其中的玄机,
有时候我们还会这样说:
那小子在学校时考试年年都披红挂绿,没想到如今竟然怎样怎样。
你小子原来在我的项目组做的东西狗屎不是,现在做得这样好,是不是故意呀?
我想这样的话说过一次是可以原谅的,因为无知嘛。
如果重复地又说了一次也可以原谅,因为不小心了。
如果说过或听过两次以后自己还要说,那就有点悲哀了,
倘若乐此不疲地逢人就说,那是无可救药了。
别人考试老不如你,那仅仅是过去,
可能是那时人家因为无知或者幼稚没怎么去好好学,
也可能是方法不当学得效率很低或者其它什么原因,
但是如今人家不是也不需要跟你比考试了,你干嘛还这么无知?
人家在你手下的时候项目是由你来支配的,
也许做出来的烂东西正是按照你想法来做的,
也许你没有发现并发挥人家所擅长的能力,
总之你应该羞愧自己而不是去追究别人。
Sunday, November 20, 2005
STL的删除算法
从STL容器中删除元素对不同容器有不同的考虑,
使用不当可能会降低代码的效率,甚至产生无法预期的后果。
因为关联容器的erase成员返回值为void与其它STL容器返回值不同,
《Effictive STL》的Item9就总结了各种情形下的用法:
删除容器中等于某个值的所有元素时,
对连续存储的线性容器用erase成员套remove算法,
list有自己的remove成员可直接使用,
关联容器的erase成员可直接完成。
删除容器中满足某个谓词的所有元素时,
线性容器用erase成员套remove_if算法,
list的remove_if成员可以搞定,
关联容器可以用效率低下的remove_copy_if后接swap算法,
或手工循环并在调用erase成员时对迭代器使用后缀的++自增运算。
倘若在每删除一个元素时还要做点其它工作,
对线性容器可用手工循环,每次要用erase返回的迭代器位置更新,
对关联容器,需要同删除满足谓词的容器元素相同地后缀++的erase。
STL的某个实现版本的remove算法先调用find找到某个迭代器位置,
如果是序列末则返回该迭代器位置,
否则返回对该位置后面的子序列调用remove_copy算法,
给定的目标起始位置为find返回的迭代器位置。
同版本的remove_copy实现用for循环遍历输入的序列,
遍历每一步测试如序列元素值不与输入的值相等则把该元素赋值到目标迭代器位置,
同时目标迭代器位置前移,
最后返回目标迭代器位置。
remove_if和remove_copy_if的实现类似,
只是测试的条件用输入的谓词代替了等于运算符。
使用不当可能会降低代码的效率,甚至产生无法预期的后果。
因为关联容器的erase成员返回值为void与其它STL容器返回值不同,
《Effictive STL》的Item9就总结了各种情形下的用法:
删除容器中等于某个值的所有元素时,
对连续存储的线性容器用erase成员套remove算法,
list有自己的remove成员可直接使用,
关联容器的erase成员可直接完成。
删除容器中满足某个谓词的所有元素时,
线性容器用erase成员套remove_if算法,
list的remove_if成员可以搞定,
关联容器可以用效率低下的remove_copy_if后接swap算法,
或手工循环并在调用erase成员时对迭代器使用后缀的++自增运算。
倘若在每删除一个元素时还要做点其它工作,
对线性容器可用手工循环,每次要用erase返回的迭代器位置更新,
对关联容器,需要同删除满足谓词的容器元素相同地后缀++的erase。
STL的某个实现版本的remove算法先调用find找到某个迭代器位置,
如果是序列末则返回该迭代器位置,
否则返回对该位置后面的子序列调用remove_copy算法,
给定的目标起始位置为find返回的迭代器位置。
同版本的remove_copy实现用for循环遍历输入的序列,
遍历每一步测试如序列元素值不与输入的值相等则把该元素赋值到目标迭代器位置,
同时目标迭代器位置前移,
最后返回目标迭代器位置。
remove_if和remove_copy_if的实现类似,
只是测试的条件用输入的谓词代替了等于运算符。
Thursday, November 17, 2005
输入法
今天发现尉迟方兄的blog有不少跟输入法相关的链接:
http://www.cnblogs.com/realfun/archive/2005/03/28/127152.aspx
此人还发布了一个输入法源码:
http://realfun.cnblogs.com/archive/2005/06/26/181302.aspx
Yuking兄在linux的输入法项目fcitx是个C语言编写的
http://www.fcitx.org
Input Method Architecture for X Window/Open source Platform
see to http://wiki.debian.org.tw/ChineseInformationProcessing#.E8.BC.B8.E5.85.A5.E6.B3.95
1. Xim.
ftp://ftp.x.org/pub/R6.3/xc/doc/hardcopy/XIM/xim.ps.gz
http://www.mozilla.org/projects/intl/input-method-spec.html
2. GTK+/Qt IMModules
3. IIIMF Internet/Intranet Input Method Framework
4. SCIM Smart Common Input Method platform
http://www.scim-im.org
http://sourceforge.net/projects/scim
modules list:scim, skim, IMEngines, scim-qtimm
qt_immodle http://www.kde.gr.jp/~daisuke/immodule_for_qt/ImmoduleForQtDocs.html
5. Qtopia的输入法及plugin
Writing Qtopia2.20 plugins: http://doc.trolltech.com/qtopia2.2/html/writing-plugins.html
6. links about chinese ime
http://www.chineselanguage.net/guide/Learn_Chinese/Input_Method/index.php
http://www.cnblogs.com/realfun/archive/2005/03/28/127152.aspx
此人还发布了一个输入法源码:
http://realfun.cnblogs.com/archive/2005/06/26/181302.aspx
Yuking兄在linux的输入法项目fcitx是个C语言编写的
http://www.fcitx.org
Input Method Architecture for X Window/Open source Platform
see to http://wiki.debian.org.tw/ChineseInformationProcessing#.E8.BC.B8.E5.85.A5.E6.B3.95
1. Xim.
ftp://ftp.x.org/pub/R6.3/xc/doc/hardcopy/XIM/xim.ps.gz
http://www.mozilla.org/projects/intl/input-method-spec.html
2. GTK+/Qt IMModules
3. IIIMF Internet/Intranet Input Method Framework
4. SCIM Smart Common Input Method platform
http://www.scim-im.org
http://sourceforge.net/projects/scim
modules list:scim, skim, IMEngines, scim-qtimm
qt_immodle http://www.kde.gr.jp/~daisuke/immodule_for_qt/ImmoduleForQtDocs.html
5. Qtopia的输入法及plugin
Writing Qtopia2.20 plugins: http://doc.trolltech.com/qtopia2.2/html/writing-plugins.html
6. links about chinese ime
http://www.chineselanguage.net/guide/Learn_Chinese/Input_Method/index.php
Wednesday, November 16, 2005
STL的排列算法
《Effictive STL》的item3提及两个算法:
previous_permutation和next_permutation,
看了STL的实现源码后仍有些不解,
于是在网上搜索到一篇不错的文章。
http://www.dogma.net/markn/articles/Permutations/
是Mark Nelson发表在C/C++ Users Journal上的
"C++ Algorithms: next_permutation()"
很不错的。
该文从一道小学六年级的数学作业落笔,
给出了该题的解题程序,
然后解说数字排列,
进而剖析了STL的next_permutation算法的实现。
文章最后举一实例模拟算法的运行后,
详细阐述算法在序列中出现重复值时的行为。
这个网页的上级目录还有各类其它文章,
或许值得一读。
previous_permutation和next_permutation,
看了STL的实现源码后仍有些不解,
于是在网上搜索到一篇不错的文章。
http://www.dogma.net/markn/articles/Permutations/
是Mark Nelson发表在C/C++ Users Journal上的
"C++ Algorithms: next_permutation()"
很不错的。
该文从一道小学六年级的数学作业落笔,
给出了该题的解题程序,
然后解说数字排列,
进而剖析了STL的next_permutation算法的实现。
文章最后举一实例模拟算法的运行后,
详细阐述算法在序列中出现重复值时的行为。
这个网页的上级目录还有各类其它文章,
或许值得一读。
Monday, November 14, 2005
学习之道
回想起先前众多英语教师上课的方式,
深觉得害人不浅,
本还有些学习的冲动与兴趣,
渐渐地竟被瓦解得无影无踪。
每堂课老师大抵是复习一下上讲课,
然后开始讲生词,
讲到课文中往往还有着重挑出这些词还回顾,
之后便是课文中的难点。
考试往往也是挑些不好记的,刁钻的题目,
总之,给人从一接触到放弃,
中间都是一个困难到一个困难,
当然有些人吃得苦中苦,便成了人上人了。
我不知道这些怪现象的根源是打哪开始的,
但它总是潜移默化中给人树立了这种感觉:
学习真TMD不爽,难得很,
这时候老师们似乎在感觉到自己存在的意义。
我常想起我在小学2、3年级时就读完《碧血剑》,
当时连封面的剑都误辨为钗,
可基本不用怎么查字典我读完而且饶有兴趣。
也有不少生词生句,但不影响我的阅读。
再想起我的语文启蒙老师给我们上课,
印象中他从来就没有挑太多我们不懂的东西来强调来强调去,
相反他总是让我们熟读学过的整篇文章成诵,
所以那些里子时我从来就没觉得语文有多难。
这段日子里老看战争片,抗日的、国共战争、明清之战...
发现敌对双方无时无刻不是在争夺地盘,
而且如何巩固打下的江山都不是容易的事,
那么在学习中记忆与淡忘不正是一对死对头吗?
无论是搞游击的八路军还是草莽李自成,
他们都意识到建立根据地的重要性,
大清入主中原前,所有的战斗都是围绕着它的盛京进行,
那么我们在学习中的根据地在哪里?
包括英文学习在内的所有学习,
我认为也应该是建立根据地为依托,辐射性地扩张,
阅读文章,不要习惯性地搜索生词难句,然后查词典词霸,背诵...
而是忽略他们,先求大义再根据需要抠小义,如此罢了。
深觉得害人不浅,
本还有些学习的冲动与兴趣,
渐渐地竟被瓦解得无影无踪。
每堂课老师大抵是复习一下上讲课,
然后开始讲生词,
讲到课文中往往还有着重挑出这些词还回顾,
之后便是课文中的难点。
考试往往也是挑些不好记的,刁钻的题目,
总之,给人从一接触到放弃,
中间都是一个困难到一个困难,
当然有些人吃得苦中苦,便成了人上人了。
我不知道这些怪现象的根源是打哪开始的,
但它总是潜移默化中给人树立了这种感觉:
学习真TMD不爽,难得很,
这时候老师们似乎在感觉到自己存在的意义。
我常想起我在小学2、3年级时就读完《碧血剑》,
当时连封面的剑都误辨为钗,
可基本不用怎么查字典我读完而且饶有兴趣。
也有不少生词生句,但不影响我的阅读。
再想起我的语文启蒙老师给我们上课,
印象中他从来就没有挑太多我们不懂的东西来强调来强调去,
相反他总是让我们熟读学过的整篇文章成诵,
所以那些里子时我从来就没觉得语文有多难。
这段日子里老看战争片,抗日的、国共战争、明清之战...
发现敌对双方无时无刻不是在争夺地盘,
而且如何巩固打下的江山都不是容易的事,
那么在学习中记忆与淡忘不正是一对死对头吗?
无论是搞游击的八路军还是草莽李自成,
他们都意识到建立根据地的重要性,
大清入主中原前,所有的战斗都是围绕着它的盛京进行,
那么我们在学习中的根据地在哪里?
包括英文学习在内的所有学习,
我认为也应该是建立根据地为依托,辐射性地扩张,
阅读文章,不要习惯性地搜索生词难句,然后查词典词霸,背诵...
而是忽略他们,先求大义再根据需要抠小义,如此罢了。
Sunday, November 13, 2005
奇书《周易》
周末应友之约赴北大南门逛‘风入松’书店,
偶阅一书,其名已忘,约为《周易入门》,甚迷。
后于此觅得简介,甚好:
http://www.ccnt.com.cn/wisdom/rujia/zhouyi/yijing.htm
细看甚惊,它用8卦把天地万物划分为4组对应的抽象,然后两个8卦衍生出八八64卦。
64卦之下又细分为更小的单元--爻,每卦6爻,爻分阴阳(--/—)。
忽然觉得里边竟包含了现代计算机科学类似的东西:
3个二进制位正是八卦,6个二进制位即八八64卦,每个二进制位一爻,0/1各表阴阳。
计算机的6个二进制位自右向左对应了卦自下而上的6爻,
《周易》的《经》命名为:初六、九二、九三、九四、六五、上六,
“九”阳“六”阴,故可这样理解:右起的第1~6个二进制位中:
第1、5、6为阴而第2、3、4为阳。
每卦的信息含:卦画(符号)、卦辞、爻辞四部分,可定义一个结构体
typedef struct _iicon_info{
IIconType iicon_type;
char *iicon_title;
char *iicon_summary;
char *iicon_detail;
} IIconInfo;
实际上,卦画可用IIconShape类管理,据iicon_type各个位的阴阳(0/1)来画,
标题与卦辞也可用在表中的索引来记录,
爻辞(iicon_detail)还有筮辞与非筮辞(又可以定义一个数据类型来描述),
前者是占筮的内容与结果记录,后者是作者理论说明。
《易》的解说是《易传》,7种10篇,统称“十翼”:
《彖》上下篇、《象》上下篇、《系辞》上下篇、《文言》、《说卦》、《序卦》、《杂卦》。
从汉到宋期间《周易》学者分出两派六宗,
足见此书之奇。
偶阅一书,其名已忘,约为《周易入门》,甚迷。
后于此觅得简介,甚好:
http://www.ccnt.com.cn/wisdom/rujia/zhouyi/yijing.htm
细看甚惊,它用8卦把天地万物划分为4组对应的抽象,然后两个8卦衍生出八八64卦。
64卦之下又细分为更小的单元--爻,每卦6爻,爻分阴阳(--/—)。
忽然觉得里边竟包含了现代计算机科学类似的东西:
3个二进制位正是八卦,6个二进制位即八八64卦,每个二进制位一爻,0/1各表阴阳。
计算机的6个二进制位自右向左对应了卦自下而上的6爻,
《周易》的《经》命名为:初六、九二、九三、九四、六五、上六,
“九”阳“六”阴,故可这样理解:右起的第1~6个二进制位中:
第1、5、6为阴而第2、3、4为阳。
每卦的信息含:卦画(符号)、卦辞、爻辞四部分,可定义一个结构体
typedef struct _iicon_info{
IIconType iicon_type;
char *iicon_title;
char *iicon_summary;
char *iicon_detail;
} IIconInfo;
实际上,卦画可用IIconShape类管理,据iicon_type各个位的阴阳(0/1)来画,
标题与卦辞也可用在表中的索引来记录,
爻辞(iicon_detail)还有筮辞与非筮辞(又可以定义一个数据类型来描述),
前者是占筮的内容与结果记录,后者是作者理论说明。
《易》的解说是《易传》,7种10篇,统称“十翼”:
《彖》上下篇、《象》上下篇、《系辞》上下篇、《文言》、《说卦》、《序卦》、《杂卦》。
从汉到宋期间《周易》学者分出两派六宗,
足见此书之奇。
Subscribe to:
Comments (Atom)