RECORDING MY FANTASY
Sunday, November 27, 2005
????
??
?????????
??????????????
?????????
?????????
?????????
?????????
???????
??????????
????????????
?????????
????
Wednesday, November 23, 2005
Tuesday, November 22, 2005
s60的字符串描述符翻译-from www.sf.org.cn
Symbian平台的主要的描述符的特点现归纳如下:
(1) 字符串和二进制数据采用相同的处理方法
(2) 数据可以被放置到任意的存储器中,无论是ROM还是RAM,也无论是在栈上还是在堆上。
(3) 每个描述符对象(descriptor object)都包含了指向数据的指针和该指针指向的数据的长度信息。一些描述符甚至包括了其最大可以容纳的数据长度。
下面的图例表示出了描述符类之间的派生层次关系,
http://www.newlc.com/IMG/png/descriptors.png
所有的描述符都是从TDesC这个虚基类中派生出来的。这些描述符总的来说分为三种:
(1) 缓冲区描述符:TBuf类和TBufC类
2) 堆描述符:典型例子是:HBufC类
3) 指针描述符:TPtr类和TPtrC类
指针描述符可以用来等价替换经典C/C++中的以下两种类型:
a) TPtrC ――》 const char *
b) TbufC ――》char []
但是其他的类在经典C/C++中就没有相应的数据类型了。
TDes类和TDesC类是虚基类,所以你不能够直接将他们实例化。它们主要用于做为函数的形参,方便的操作字符串和二进制的数据。
在这种类型的函数中,你可能会用到:
(1) const TDesC& 做为只读的字符串或二进制数据的传递
(2) TDes & 做为你需要修改的字符串或数据在函数间的传递
所有的描述符都有单位数据的宽度的限制,例如:TDes8,TDes16,TDesC8,TDesC16,TBuf8, TBuf16,等等,其中的后缀8代表了这个描述符是用来操作8位的数据的,而16则代表可以操作16位的数据内容。通常情况下,你可以使用更加自然的文本数据的表示形式:TDes,TDesC.
字符串常量的定义
字符串常量通常可以利用_L()宏和_LIT()宏来定义
_L()宏从常量字符串中可以得到TPtrC的指针,它在向一个函数传递字符串常量的时候尤其有用。例如:
NEikonEnvironment::MessageBox(_L("Error: init file not found!"));
_LIT()用于生成在程序中可以重复使用的、全局的常量字符串,并且可以为该字符串方面的命名。例如:
_LIT(KMyFile,"c:\\System\\Apps\\MyApp\\MyFile.jpg");
上面这条宏的结果就是:KmyFile可以做为后面字符串的代替品,用在任何需要传入TDesC&参数的地方。
使用方法:
最常用的函数都定义在TDesC虚基类中。列举如下:
(1) Ptr()――用于得到指向描述符中数据的指针
(2) Length()――用于得到描述符中数据单位的长度(或者在存放字符串时表示字个数)
(3) Size()――用于以字节为单位表示描述符中数据的长度
(4) Compare()以及重载的==,!=,>=,<=用于描述符对象之间的比较
(5) 重载的[]运算符,用于从一个描述符中取出指定的一个数据单位,类似数组的使用方法
---
Best Regards,
Xi Minjun(郗闽军)
the Lab of Distributed and
Sunday, November 20, 2005
转贴人生的34个好习惯,共勉
2. 凡事第一反应:找方法,而不是找借口。
3. 遇到挫折对自己大声说:太棒了!
4. 不说消极的话,不落入消极情绪,一旦出现立即正面处理。
5. 凡事先订立目标,并且尽量制作“梦想版”。
6. 凡事预先作计划,尽量将目标视觉化。
7. 工作时间。每一分,每一秒都做有利于生产的事情。
8. 随时用零碎的时间(如等人、排队等)做零碎的事情。
9. 守时。
10. 写下来,不要太依靠脑袋记忆。
11. 随时记录灵感。
12. 把重要的观念,方法写下来,并贴起来,以随时提示自己。
13. 走路比平时快30%,走路时脚尖稍用力推进,肢体语言健康有力,不懒散,萎靡。
14. 每天出门照镜子,给自己一个自信的微笑。
15. 每天自我反省一次。
16. 每天坚持一次运动。
17. 听心跳一分钟,指在做重要事情前,疲劳时,心情烦躁时,紧张时。
18. 开会坐在前排。
19. 微笑。
20. 用心倾听,不打断对方说话。
21. 说话时声音有力。感觉自己声音似乎能产生有感染力的磁场。
22. 说话之前,先考虑一下对方的感受。
23. 每天有意识,真诚地赞美别人三次以上。
24. 及时写感谢卡,哪怕是用便笺写。
25. 不用训斥,指责的口吻跟别人说话。
26. 控制住不要让自己做出为自己辩护的第一反应。
27. 每天做一件“分外事”。
28. 不管任何方面,每天必须至少做一次“进步一点点”。
29. 每天提前15分钟上班,推迟30分钟下班。
30. 每天在下班前用5分钟的时间做一天的整理工作。
31. 定期存钱。
32. 节俭。
33. 时常运用“头脑风暴”。
34. 恪守诚信,说到做到。
Saturday, November 19, 2005
Friday, November 18, 2005
uml--菱形、箭头的意义
From www.umlchina.com/best/g20/g1265.htm
- 菱形表示两个类之间的关联关系是是聚合关系。聚合关系表示的是两个类是整体与部分的关系。其中菱形一端的类是整体,另一端是部分。比如:公司与部门两个类之间关系就可以用聚合关系描述。
箭头表示可访问性,即箭头所指的一端能被另一端访问,逆向则不行。 - uml_learner兄说得还不够完整。空心的菱形表示聚合,实心的菱形表示组合。可以参考一下《UML参考手册》中的说明。
---
Best Regards,
Xi Minjun(郗闽军)
the Lab of Distributed and
Thursday, November 17, 2005
Wednesday, November 16, 2005
study network programming under windows....(winsock2)
基本的函数
WSAStartup()
socket()
bind()
listen()
accept()
send()
recv()
--------------
connect()
-------------
sockaddr_in类型实例的创建也应该注意一下:
sockaddr_in service;
service.sin_family = AF_INET;
service.sin_addr.s_addr = inet_addr("127.0.0.1");
service.sin_port = htons(80);
Saturday, November 12, 2005
Thursday, November 10, 2005
Sunday, November 06, 2005
Saturday, November 05, 2005
==两个故事==
上有政策,下有对策--中国人的传统?
两个故事均系转载!!
故事一
不久前我回到西北那所读了六年多的大学,惊奇地发现校园里房前屋后长满了待收割的小麦!这所大学是从事电子科技的,种小麦干啥呀?朱总理曾讲过:“目前国家粮食充足,再来三年自然灾害也不怕。”现在国泰民安,似乎用不着“深挖洞,广积粮”。我素知学校提创勤俭节约、自力更生,但与其种小麦还不如种蔬菜呢。老同学告诉我,种小麦是为了应付“211”工程(为21世纪选拔100所重点大学)的检查团,因为“211”工程有较高的绿化指标。偏偏检查赶在冬天,那时的西北极难长草。我那所大学本来就人多地少,地上一长草马上就会被谈恋爱的学生给折磨死。一到冬天,整个校园就光秃秃一片。用小麦绿化校园可谓千古绝笔,检查团的那些权贵人士早已五谷不分,岂知所见的“草坪”乃是麦田。
检查工作要预防被检查者弄虚作假。
故事二
我上高中时,班里举行一次入团评审。侯选人中有几位是好学生,有几位是坏学生。我心想“伸张正义”的机会到了,绝不能让坏蛋混进纯洁的团里。可天知道团支部书记是聪明绝顶还是蠢笨之极。他竟说:“班里还有一些同学没有入团,现在他们申请入团,有不同意的请举手。”我们都不知道该怎么办了。书记接着说:“既然没有人举手反对,就表示全部同意,请大家鼓掌欢迎。”这次入团评审不到一分钟就结束了,从此后我再也没想过争取入党。
检查工作要有科学的评审方式。
Thursday, November 03, 2005
Symbian编码规范
第一个字母大写(除非特别指明不用)
所有单词连接在一起
除了宏和资源标识之外,避免使用下划线 _
e.g.:void TObject::PrepareForCommit(); class CGlobalText;
2.自动变量(局部变量)
第一个字母小写
需要时才声明自动变量
永远不要在同一行初始化多个变量
3.全局变量
不鼓励使用全局变量
大写字母开头
非常量的全局数据在DLL中是不支持的;最好使用线程本地存储(T.L.S.)
4.宏
所有字母大写
用下划线分隔单词
IMPORT_C,EXPORT_C,_TEST_INVARIANT
5.指针和引用类型
*或&放在类型旁边,而不是变量名旁边
6.类名
类名通常只能以C,R,T,M开头
结构用T开头
静态类没有前缀字母
驱动类用D开头
7.方法名
通用规则有效
Setters通常是SetThing()
Getters通常是Thing(),(如果该方法返回数据项的话)
“Get”用于获取引用
以L结尾的方法表示可能Leave
以C结尾的方法表示其中将数据项放入了cleanup stack中
以D结尾的方法表示其中的对象
8.成员变量
以i开头.e.g.:
class TObject
{
TType iType;
Tint iElemementOffset;
TPtrC iComponentValue;
}
9.方法变量(参数)
以a开头
在元音前也不使用an
最好使用方法重载,而不是缺省参数,这样可读性好,并且更加高效
10.常数
K开头
单词开头大写
11.枚举
应当被包含在相应的类中
不要全局命名空间
必须用一个有意义并且无歧义的名字
T开头
每个枚举成员E开头
特定类中的常量可以实现成枚举型,这种情况下,可以使用K
Symbian Notes (1)
基础概念
1. 线程------执行的单元。同一个进程的线程共享地址空间。调度器 (schceduler)负责对线程(而不是进程)进行调度
2.进程------内存保护的单元. 一个进程不能访问其他进程的内存空间。
3.抢先式多任务-线程根据优先级进行调度。
4.context switch
5.active object
Symbian OS用来处理异步方法调用的特殊对象
使得进行合作的多个线程能够更加有效的利用资源
6.Heap/Stack
线程使用的内存空间
堆必须显式的申请和释放
栈空间由OS负责管理
7.Leave
Symbian OS的错误处理机制
与trap harness一起使用
与标准C++中的catch/throw机制类似
8.Panic
致命错误
Panics要么由OS触发,要么由一个出现了严重错误的用户线程触发
Tuesday, November 01, 2005
TVBS《笑傲江湖》版
新闻:国际 2005-11-01
新加坡联合早报(www.zaobao.com)
● 易锐民
话说金庸先生有意改写武侠小说《笑傲江湖》,但有六个人反对,他们就是“
桃谷六仙”,所持的反对理由是,他们坚持要做“嘴巴第一”,不想被删改。
最近“六仙”就为一件发生在台湾的事斗嘴。
只听桃干仙说道:“你们瞧,TVBS与TVB就差那一个S字,它们是两父子,TVB是
香港公司,TVBS是这家香港公司的子公司,也就是100%‘香港制造’,是香港资本
。”
桃实仙接着道:“香港已回归中国,所以,正确的说法应该是:中国资本。”
桃枝仙道立即摇头大叫:“不对不对,香港有很多人姓陈,台湾的总统也姓陈
,不能因为总统姓陈,就说台湾人与香港人是直系亲属。”
桃叶仙道:“不错,TVB的大老板姓邵,他早在香港回归前,已获得英国人册封
为‘Sir’(爵士),所以,他的公司应该属于英资。”
“哈哈,哈哈,此言差矣!”桃根仙笑说:“你们都不读一点历史,邵爵士是
在新加坡起家的,他的公司是新加坡资本才对。”
桃干仙很不服气,说道:“大哥,别的事我很佩服你,但在这个什么资的问题
上,我只坚持一条:无论是港资、中资、英资、还是新资,总之都是外资。”
这时候,刚刚睡醒的桃花仙打了一个呵欠,问:“你们在吵什么?刚才我发了
一个恶梦,被五个恶人追问‘什么资’,我答了一声‘台资’,竟然被人追打。”
五仙立即群情汹涌。桃根仙怒说:“谁敢欺负六弟,我们就是‘台资’的,要
打六弟,就先打赢我们。”
总喜欢跟桃根仙唱对台戏的桃干仙,又按捺不住了,说:“唏,大哥,你的说
法又错了,你怎么说‘我们就是台资的’,桃谷六仙的爸是港资,妈是台资,我们
是港台资。”
“港台资不就是台资的一种,反正里面有台资……”
“那为什么不说港台资是港资,反正里面有港资……”
“你们又错了,香港己回归中国,所以只有中台资,没有港台资。”
“但邵逸夫本来是新加坡人,不是应该说是新资吗?”
桃谷六仙一面各运真气,一面兀自争执不休,却不知这些日子之中,早已将两
岸四地华人体内的经脉,搅得乱七八糟。
(故事纯属虚构,如有雷同,实属巧合)