博文

2008年最后一天(2008-12-31 20:50:00)

摘要:    时光荏苒,光阴似箭。一会的功夫又到了年末。明年就是2009年了。那个憧憬了很久的2008即将过去,2008年真的极不平凡。除夕和春节停电前所未有,外媒说这场50年不遇的冰灾足以腰斩任何一个国家。然而冰雪融化之后,春末夏初之时,突如其来的地震瞬间吞灭无数生灵。在全国防空警报拉响,全民默哀之时,有多少善良的人们能抑制住泪水。 “为什么我的眼中常含泪水,因为我对这土地爱的深沉!因为这土地上的人们,真正懂得什么叫做守望,相助。” 永远铭记这一刻: 2008年5月12日14时28分 愿幸存的同胞们坚强地继续生活,重建家园。 那个期盼了很久的奥运会也终于开完了,结束了,当闭幕式到来时,守候了7年的奥运会终成记忆。而百年不遇的金融危机同时席卷全球,我们未能幸免。 今年自己也很不平静,相比四川同胞的灾难,自己的挫折太微不足道,应该明白自己太缺乏坚毅和刚强。今年五月,也是一场风波让我失去了2个朋友, 八月初结束了给小日本打工的生涯。为追求创新迈出了第一步。九月份之后, 回到了登陆上海滩之初一个人生活的状态,兄弟们都有了自己的归宿。 2009 与国共进!   为自己,为所有善良的人们祈祷。......

阅读全文(1332) | 评论:0

再展出一个解释程序(暨庆祝偶滴BLOG点击次数超过10万)(2008-08-20 19:44:00)

摘要:  发现2006年3月写的COBOL语言解释程序在偶滴BLOG所有文章中人气最高,偶滴blog点击次数刚刚超过10万,为了祝贺。时隔2年半后再展示一个解释程序,html解释程序。html解释程序是 易扩网络搜索(2007年本人自主开发的搜索引擎)的一个小部分, 事实上为了网络搜索而使用整套解释程序是用高射炮打蚊子的行为,用DOM和regx应该能够实现,当时有这个想法,不过没有付诸行动。 下面是解释系统的框架图 Copyright (C) 2007-8 SGPRO 这个程序比较庞大,所以这里只能展示语法分析部分。 HTML源代码虽然有一套语法规则,但是仍然可以写的相当随意,所以解释程序容错能力要很高,如果是xml语法非常严格,相对应的解释程序应该简单的多(虽然我没有实现过) 语法分析(Syntax Analysis)的代码,不能单独编译,需要词法分析和错误处理等模块协作 下面2个数据结构必须说明  //1、 有限自动机,从html源代码中读取有效单词,目前只支持2种,一种是HTML有效单词,一种是Javascript有效单词 typedef struct  { BOOL (*ReadHTMLToken)(Token *argToken, BOOL filterSpace); BOOL (*ReadJavaScriptToken)(Token *argToken, BOOL filterSpace);}LangDFA; // 2、语法解释器typedef struct{ HTMLObjectTree ObjectTree;   // 对象树,属于解释器的目标生成对象 ObjectList     ObjectArr;              // 对象列表, 对象树的列表结构 HTMLInterpreterError *IntpErr;    // 错误对象句柄 BOOL (*start)(BOOL (*LoadHTMLCode)(......

阅读全文(2110) | 评论:1

纯C也要继承,封装(2008-08-15 13:16:00)

摘要:最近要在mtk平台上开发一套中间层,类似于MFC或者vcl的framework, 但是只能用纯C写,MTK本身就使纯C的,对于这个framework。 层次其实是很明晰的,习惯了封装继承思想便觉得纯C也要继承,封装。 下面就 object - Rect - Wnd - Button的单继承关系进行展示,说实话,目前为止我也只能实现单继承,java的单继承是不是也是这样弄,不得而知。 文件 CObject.h  包含 Object的对外声明 #ifndef  _OBJECT#define  _OBJECT typedef struct st_Object { void (*Dispose)(void*);    // 销毁对象方法 char*(*ToString)(void*, char*);  // toString方法 int  (*Init)(void*);    // 初始化方法 }Object; Object* new_Object(); #endif C的方法没有private,所以在Object中声明的都是public方法,至于private方法,在它的实现中可以体现出来, static函数便无法对外访问,实现了封装 文件 CObject.C 是 Object的实现 #include <malloc.h>#include <stdio.h>#include "CObject.h" static void  st_Object_Dispose(void* Handle);static int   st_Object_Init(void* Handle);static char* st_Object_ToString(void* Handle, char* Buffer); static void st_Object_Dispose(void* Handle){ Object** This = (Object**)Handle;  free(*This); *This = NULL;} static int st......

阅读全文(2499) | 评论:1

投身嵌入式(2008-07-25 16:32:00)

摘要:2008/07/24日正式投身嵌入式行业。 发现自己的博客点击次数过 10万,祝贺一下。 不过真的很久没有更新了。......

阅读全文(1411) | 评论:0

2007年最后一天(2007-12-31 19:03:00)

摘要:    转眼2007就结束了。最后一天在北京,游天安门广场,清华北大,八达岭长城。现在在海淀区的某个地方(不认识)上网。2006年末提出的2007年每天都要快乐的愿望不能说已经实现了,但比2006年好很多了。至于收获,工作总的来说还算顺利,1次最佳员工,3此最佳团队。升值也得到较大认可。不过没有交到很多新朋友。    2007年是工作的第二年。上海的朋友多了起来,不管是上班还是回家,都再也不是一个人形单影只了。生活自然也比去年更精彩一些。不过今年真的过得很快,很多事情都悄悄的彻底发生变化了。在这些变化中我通常不像过去那样手足无措,人的生命都会终结,有什么能不发生呢。如果一切都是命。那就遵从天命吧。相同的也减少了很多激动,所以我经常表现的面无表情。。。     百家讲坛里的庄子和孔子的解读非常值得一看,人不平静的时候,它总能给人淡定从容的状态。就像在海边一样,海的情怀是多么宽广,海天又是都么博大。虽然我没有去过海,可是我能想象出它的样子。到过得很多城市都有海,可是我偏偏没去,原因是没有合适的人一起去。一个人去是不错的想法,可我觉得还是能有一个人陪我去会更好些。......

阅读全文(2109) | 评论:1

web聊天程序,Ajax实现即时通讯(2007-12-03 16:39:00)

摘要:  Ajax 是用javascript和DOM,XML实现的web客户端与服务器端的异步通讯技术。 不是什么新东西,老技术,新面孔而已。 对于构建类似桌面应用的web程序来说,Ajax无疑是有效的工具, 处理强交互性做得很突出。 Google是Ajax的先行者, 大名鼎鼎的Google Map则是Ajax的优秀作品。 相信Ajax的广泛运用将进一步改变web程序的面孔,同时过去被认为只有桌面程序更加能满足要求的构架方案如今Ajax可以成为另一种不错的选择。桌面程序则再次面临市场萎缩,与此同时b/s在继续拓宽其领地。  Ajax不是什么新技术, 只要客户端的浏览器支持javascript,支持dom就能完成Ajax的核心工作之一, 而服务器端代码你可以选择3p技术的任何一种, 是极其自由的。以前的web聊天程序, 你或许要常常刷新页面来获知你是否有了新的消息,而一次刷新则意味着一次和页面载入,这显然不符合即时通讯的要求,在这里Ajax则有了发挥的空间,这是我为什么选择它的原因。  如果你熟悉Ajax, 请允许我上面说了这么多废话,因为我无法保证每个读者都熟悉它。当然不乏精通人士,敬请纠正我的错误,如果存在的话。 现在我将发布我的Ajax作品。 请不要误以为我在炫耀什么,这并不是什么高级的作品,事实上我只是想发布它,因为很长时间我的blog没有更新了,当然如果我的行为对你的进步产生了影响,那将会使我感觉到快乐。最后要说的是, 著作权,中国人不太重视这个, 我想说的是,不管这个作品品质如何,只要它是出自某个人辛苦的劳作而且未将它授权给别人,那它就属于作者, 你需要适当限制发生作者不愿看到的行为,特别是商业目的。在这个实例当中客户端我使用了ms的浏览器, 服务器端则采用ms的 jscript一共7个程序文件Ajax.js   :  Ajax程序的中心库,我希望这是一个通用框架的核心组成部分AjaxApp.js : 本程序响应服务器异步通讯的代码, 负责本程序客户端的大部分工作frmInpCheck.js: 表单输入的控制模块pageCtl.js: 页面元素的控制模块, 集中体现Ajax中DOM的运用util.js: 其他工具模块web-sgn.asp: 客户端页面代码,利用Ajax交互的页面web-server-s......

阅读全文(8124) | 评论:16

xml与数据库的相互转换(2007-03-29 15:52:00)

摘要:'说明:  把xml转换为数据库(dataset),  把数据库(dataset)转换为xml,  ' 用记录集rs构造DataTable '代码未经编译。 'Copyright (C) 2007-3 SGPRO Imports SystemImports System.IOImports System.XmlImports System.Data Class DB2XML '把数据库写入xml  Public Function DBToXML()    Dim objDbConn as new DbConnection  Dim strSql as string  Dim strTableName as string  Dim strXMLFile as string  Dim dsMain as DataSet  Dim dsRead as DataSet   StrSql = "SELECT * FROM A"  StrTableName = "A"  StrXMLFile = "db2xml.xml"   DbConnection.Open()  MakeDataTable(dsMain, objDbConn, strTableName,  strSql)     'Create Table,  From rs to Table   dsMain.WriteXml(strXMLFile, XmlWriteMode.IgnoreSchema)  ' DataSet写入xml End Function '构造DataTable Private Sub MakeDataTable(ByRef dsMain as DataSet, ByVal oraDb As OracleConnecion,ByVal strTable As String, _ ......

阅读全文(3734) | 评论:0

Dll Simulator(仿真动态连接库)(2007-03-29 14:55:00)

摘要:/*File: dll.hVersion: 1.0Introduction: Dll DeclareCopyright (C) 2007-1 SGPRO*/ #ifndef _H_DLL#define _H_DLL #define DRV_LEN 1#define DIR_LEN 64#define FIL_LEN 8#define EXT_LEN 3#define DLLNAME_LEN (DRV_LEN + DIR_LEN + FIL_LEN + EXT_LEN)#define DLL_PARA_MAX 16#define FN_LEN 32#define FA_SIZE 16 #define DLLARG_DLLNAME 0#define DLLARG_VERIFY  1#define DLLARG_VMVNAME  2#define DLLARG_FUNCTIONNAME 3#define DLLARG_PARA  4 #define EXT_VM ".vm"#define DLL_LOG "loaddll.log" typedef enum{ DLLERR_NoErr,   /*0 无错误*/ DLLERR_DllInfErr,  /*1 DLL信息输出错误*/ DLLERR_VmCanNotWrite, /*2 虚拟内存无法写入*/ DLLERR_VmWriteErr,  /*3 虚拟内存写入错误*/ DLLERR_VmCanNotRead, /*4 虚拟内存无法读取*/  DLLERR_VmReadErr,  /*5 虚拟内存读取错误*/  DLLERR_FunctionNotFound,/*6 未找到DLL库内的指定函数*/ DLLERR_VerifyErr,  /*7 DLL验证失败*/ DLLERR_NotEnoughMem, /*8 内存不足,无法加载DLL*/ DLLERR_DllNotExsist, /*9 DLL库不存在*/ ......

阅读全文(3324) | 评论:0

2006年最后一天(2006-12-31 14:13:00)

摘要:  今天是2006年最后一天, 明天是2007年的第一天。站在这分界线上,惴惴不安得回望一下过去的一年。   2006年恐怕是最空虚的一年, 整个一年就做了3件事, 工作、毕业,思念, 每一件事都是无奈,痛苦。工作没什么前景, 做得索然寡味, 毕业很无奈, 岁月流逝,谁也无法阻止, 思念是杯苦酒, 喝的昏天暗地。  为2007年祈祷。。。......

阅读全文(2479) | 评论:0

中国女足走向堕落(2006-12-11 14:59:00)

摘要:   要不是因为怀念1999年熬夜听广播来听女足世界杯的比赛,我也不会一如既往关注中国女足。当年5:0战胜挪威闯入决赛,那激动的心情至今难忘, 难以忘却刘爱玲,孙雯,赵利红,白洁这些响当当的名字。她们硬朗的作风,拼搏的精神,精湛的技术,团队的配合为国人之骄傲,让世人之瞩目。想想那时候熬夜看比赛真值得。    7年后的亚运会,两个深夜起来看新女足的比赛,整个场面叫人震惊,简直让人难以置信。 除了开场能打几分钟好球,接下来的时间其表现与其说是“顽强拼搏“不如说是浪费体力。 技术,速度,力量,配合完全是一塌糊涂。中场根本拿不住球,看到的全是一脚送给对方, 更谈不上组织进攻, 锋线上的王昆在无人逼抢的情况下可以带球出界,还谈得上突破? 后防线更是惊人,闭着眼睛开大脚, 3,4个人围着球跑, 对方一脚传球就可以撕开防线。 禁区慌乱无章,疲于封堵。 和朝鲜的比赛120分钟几乎被压得喘不过气来,和日本的比赛,只有招架之功,无还手之力,全场只有2次射门。 看着不是着急,而是恼火,中国是怎么培养队伍的?  就连盯人,传带球的基本功都没有。 全场除了在5号老将浦玮和15号任丽萍身上还能看到一点老女足的风范之外,其他人都神似梦游,把中国女足的传统荣耀和面子都丢尽了。 不知道刘爱玲女士看到这样的比赛会有什么感想? 中国队集中体现了中国人现在的浮躁, 韩端进了一个球就对记者说:“一个字,爽!”, 比赛0:8输给了德国后全队就哭, 这哪是中国女足啊? 瞧她们没出息,不争气样子,哎。。。说男足没出息,这样下去,我看女足更没出息。     如今一代不如一代, 只能回味初中暑假, 调好凌晨4点的闹钟, 激动地观看女足的精彩表现了,  刘爱玲,孙雯所向披靡, 无限回往。。。。。再看看我们往日岁月的铿锵玫瑰吧。 ......

阅读全文(401) | 评论:1