Tuesday, August 28, 2007

红脸和白脸的由来

这都理解不了,还要在网上查,太笨了……哪个是好人来着-_-b

红脸:京剧中的正派角色。指扮演正面的角色,对事情采取宽容忍让的态度。
白脸:京剧中的反派角色。指扮演反面的角色,对事情采取尖酸苛刻的态度。

红脸是好人,白脸是坏的。
就是说一个装好人(软弱的好说话的),一个装坏人(强硬的死板的)!!

Sunday, August 26, 2007

希望越大,失望越大——意甲开赛之前

第一场比赛已经开始了,明天Inter迎战联赛第一个对手乌迪内
赛前的评论太多了,说Inter深不可测,比肩巴萨宇宙第一强队,又是领衔意甲转会市场,最后结果如何,还是要拿出来溜溜,比赛见真章
希望越大,失望越大啊,Inter本来就是个这样的球队,专心打好每一场比赛,宇宙第一强队又如何,进不了球岂不是白玩。
更何况我们更衣室矛盾依旧,国王尚未归来,还有我们遇弱则弱,遇强不强,内战内行,外战外行一大堆问题。
Anyway, foza Inter in the new season!
联赛冠军无所谓,UEFA上搞点成绩出来,也不用让隔壁这么嚣张,哈哈

Thursday, August 23, 2007

MP3出现故障流程及常见问题zz

这个软件好用!我的aigo v plus mp3连电脑都读不出来了,用这个驱动update一下就好了~

接触了好长时间的MP3,对于MP3出现的问题发现好多都是由于软件问题导致的故障而并非是产品本身的故障问题!对于这样的问题现针对MP3出现问题后的处理方法与大家分享!
1。首先当MP3出现问题以后一定不要慌张,首先要确定产品的故障及产品的品牌及产品的型号。然后尽量详细的阅读产品的说明书看是否有误操作或者有些注意事项自己之前并不知道。而且产品说明书上一般都会针对产品误操作导致的简单问题进行介绍及简单的处理办法!
2。如果计算机可以识别的情况下,一般使用随机购买的光盘上带的管理软件或者使用FAT进行格式化简单的问题就可以解决的
3。当确定了自己的产品的品牌及型号并切说明书上介绍的东西并不能解决自己产品的问题时候,大家可以借助网络来解决自己的问题!一般的比较正规的品牌都会有自己的官方网站,可以去这些网站找到自己产品的型号的产品的修复工具!一般的问题都是可以用这些工具进行解决的!
4。如果上面的方法还是不能解决自己的问题的时候就需要求助于官方网站上的专业服务论坛或者服务电话来知道我们进行解决了(正规的品牌都会针对自己的产品设置正规的专业服务区和客户服务专线)。
5。当自己的产品经过上面的办法还是没有进行解决的话,那么非常不幸,也许我们的产品需要送到维修站来帮我们解决了!

对于AIGO爱国者经常出现的故障及解决办法下面进行简单的汇总,希望对于大家能够有所帮助(提供的软件链接均属于AIGO爱国者官方网站提供的)!

(1)AIGOF008产品、I系列:
针对出现I/O错误、能够当U盘使用却无法播放歌曲、一开机就error reformat 、格式化时提示“无法格式化”等
软件地址:http://www.huaqi.com/driver/mp3/mp3-F008.rar


(2)AIGOF007产品和2003年11月以后出的V PLUS系列的产品:
针对出现I/O错误、能够当U盘使用却无法播放歌曲、一开机就error reformat 、格式化时提示“无法格式化”等
软件地址:http://www.huaqi.com/driver/mp3/aigov+f007update.zip

(3)AIGOF166、A18产品:
针对出现I/O错误、能够当U盘使用却无法播放歌曲、一开机就error reformat 、格式化时提示“无法格式化”等。
软件地址:http://www.huaqi.com/driver/usb/usbmp3/usb_mp3_A18.zip
下载此驱动安装后需要搜索到stupdaterapp.exe后,用stupdaterapp.exe进行格式化就可以了

(4)月光宝盒V+(2003年11月以前购买的产品,请注意和V系列的产品进行区分):
针对出现I/O错误、能够当U盘使用却无法播放歌曲、一开机就error reformat 、格式化时提示“无法格式化”等、不开机等。
软件地址:http://www.huaqi.com/driver/mp3/nforce_Plus.zip

(5)月光宝盒P/F(2003年11月以前购买的产品):
针对出现I/O错误、能够当U盘使用却无法播放歌曲、一开机就error reformat 、格式化时提示“无法格式化”等、不开机等。
软件地址:http://www.huaqi.com/driver/mp3/nforce_PF.zip

(6)月光宝盒V系列产品(请注意与V PLUS系列的产品进行区分):
针对出现I/O错误、能够当U盘使用却无法播放歌曲、一开机就error reformat 、格式化时提示“无法格式化”等、不开机等。
软件地址:http://www.huaqi.com/driver/mp3/mp3-v.zip
下载此驱动安装后:
1 将月光宝盒中的电池取出来

2 将月光宝盒产品与计算机连接使用。

3 将电池装入月光宝盒产品内、开机

4 如果可以开机,进行格式化

5 进入C 盘的Program Files文件夹

6 查找Digital文件夹中的Digital AudioDev Audio Playe文件夹,从中运行stmp3update文件
刷新月光宝盒的芯片程序后查看是否可以解决问题。

(7)迷你王(录音MP3-H06型/H07)升级程序:
针对出现I/O错误、能够当U盘使用却无法播放歌曲、格式化时提示“无法格式化”等、不开机等。
软件地址:http://www.huaqi.com/driver/usb/usbsoft/sj-mp3-h06.zip

(8)迷你王(线控录音MP3 E08/E18)系列产品升级程序 :
针对出现I/O错误、能够当U盘使用却无法播放歌曲、格式化时提示“无法格式化”等、不开机等。
软件地址:http://www.huaqi.com/driver/usb/usbsoft/usb_mp3_sj.zip

Saturday, August 18, 2007

C是一门朴素的语言,你使用的命名也应该这样

1 常见命名规则比较著名的命名规则首推匈牙利命名法,这种命名方法是由Microsoft程序员查尔斯·西蒙尼(Charles Simonyi) 提出的。 其主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。例如:lpszStr, 表示指向一个以'\0'结尾的字符串(sz)的长指针(lp)变量。
骆驼(Camel)命名法近年来越来越流行,在许多新的函数库和Java这样的平台下使用得当相多。骆驼命名法,正如它的名称所表示的那样,指的是混合使用大小写字母来构成标识符的名字。其中第一个单词首字母小写,余下的单词首字母大写。例如:printEmployeePaychecks(),函数名中每一个逻辑断点都有一个大写字母来标记。
帕斯卡(Pascal)命名法与骆驼命名法类似。只不过骆驼命名法是第一个单词首字母小写,而帕斯卡命名法则是第一个单词首字母大写。例如:DisplayInfo()和UserName都是采用了帕斯卡命名法。在C#中,以帕斯卡命名法和骆驼命名法居多。事实上,很多程序设计者在实际命名时会将骆驼命名法和帕斯卡结合使用,例如变量名采用骆驼命名法,而函数采用帕斯卡命名法。
另一种流行的命名规则称为下划线命名法。下划线法是随着C语言的出现流行起来的,在UNIX/LIUNX这样的环境,以及GNU代码中使用非常普遍。本章所述的命名规则主要基于下划线命名法发展而来。

2 函数的命名函数名使用下划线分割小写字母的方式命名:设备名_操作名()操作名一般采用:谓语(此时设备名作为宾语或者标明操作所属的模块)或者 谓语+宾语/表语(此时设备名作为主语或者标明操作所属的模块) 等形式,如:
tic_init()
adc_is_busy()
uart_tx_char()
中断函数的命名直接使用 设备名_isr() 的形式命名,如:
timer2_isr()

3 变量的命名变量的命名也采用下划线分割小写字母的方式命名。命名应当准确,不引起歧义,且长度适中。如:
int length;
uint32 test_offset;
单字符的名字也是常用的,如i, j, k等,它们通常可用作函数内的局部变量。tmp常用做临时变量名。
局部静态变量,应加s_词冠(表示static),如:
static int s_lastw;
全局变量(尤其是供外部访问的全局变量),应加g_词冠(表示global),如:
void (* g_capture_hook)(void);

4 常量及宏的命名采用下划线分割大写字母的方式命名,一般应以设备名作为前缀,防止模块间命名的重复。如:
#define TIMER0_MODE_RELOAD 2
#define TIMER2_COUNT_RETRIEVE(val) ((uint16)(65536 - (val)))
当然,看作接口的宏可以按照函数的命名方法命名,例如:
#define timer2_clear() (TF2 = 0)
#define timer0_is_expired() (TF0)

5 常用缩写词
原词 缩写
addition add
answer ans
array arr
average avg
buffer buf或buff
capture cap或capt
check chk
count cnt
column col
control ctrl
decode dec
define def
delete del
destination dst或dest
display disp
division div
encode enc
environment env
error err
float flt
frequency freq
header hdr
index idx
image img
increment inc
initalize init
iteration itr
length len
memory mem
middle mid
make mk
message msg
multiplication mul
number num
operand opnd
optimization opt
operator optr
packet pkt
positon pos
previous pre或prev
payload type pt
pointer ptr
return code rc
record rcd
receive recv
result res
return ret
source src
stack stk
string str
subtraction sub
table tab
temporary tmp或temp
total tot
time stamp ts
value val

6 结语没有一种命名规则可以让所有的程序员赞同。而这多种命名规则也确实各有利弊。没有必要花太多的精力试图发明最好的命名规则,而是应当制定一种令大多数项目成员满意的命名规则并切实执行。标识符命名的一致性自然会体现出代码的优雅。当然,如果你的程序使用了第三方的代码,而这些模块经验证确实是正确无误的。那么也没有必要一味追求命名的一致性,而去修改这些已经定型的模块中的函数和变量名。

参考文献:
[1] 高质量程序设计指南——C/C++语言,林锐
[2] Linux kernel coding style,Linus Torvalds
[3] GNU Coding Standards,Richard Stallman

Friday, August 17, 2007

提高c++程序效率的方法zz

说的很中肯啊,发现原来的想法很多都是不对的,步进指针和直接寻址几乎没有什么太大的区别,这些雕虫小技的事情编译器都会帮你做了,编译器不做的也不会差太多,重要的是算法设计啊算法设计~
不过有的时候还有一点点用,比如类函数的调用真的远慢于普通函数,另外要用release版本优化后测速度。
anyway, this is not the point

选择好的算法,小心地实现,同时确定程序不做额外的事。例如,即使世界上最优化的字符复制循环也比不上不用复制。当担心效率时,要保持几样事情在视野中,这很重要。首先,虽然效率是个非常流行的话题,它并不总是象人们想的那样重要。大多数程序的大多数代码并不是时间紧要的。当代码不是时间紧要时,通常把代码写得清楚和可移植比达到最大效率更重要。记住,电脑运行得非常非常快,那些看起来“低效率”的代码,也许可以编译得比较有效率,而运行起来也没有明显的延时。试图预知程序的“热点”是个非常困难的事。当要关心效率时,使用 profiling 软件来确定程序中需要得到关注的地方。通常,实际计算时间都被外围任务占用了(例如 I/O 或内存的分配),可以通过使用缓冲和超高速缓存来提高速度。即使对于时间紧要的代码,最无效的优化技巧是忙乱于代码细节。许多常被建议的“有效的代码技巧”,即使是很简单的编译器也会自动完成(例如,用移位运算符代替 2 的幂次方乘)。非常多的手动优化有可能使代码变得笨重反而使效率低下了,同时几乎不可移植。例如,也许可以在某台机器上提了速,但在另一台机器上去变慢了。任何情况下,修整代码通常最多得到线性性能提高;而更好的算法可以极大地提高程序运行效率。
在修整象 i = i + 1 这样的代码前,记住你是在跟编译器打交道。对于 ++i,i += 1 和 i = i + 1,任何好的编译器都会生成完全一样的代码。使用任何一种形式只跟风格有关,而与效率无关。
有关效率的更多讨论,以及当效率很重要时,如何提高效率的建议,可以从以下书中得到:
Kernighan 和 Plauger 的 The Elements of Programming Style [K&P] 中的第七章 Jon Bentley 的 Writing Efficient Programs [Bentley]

Wednesday, August 15, 2007

BlackBerry 7100v入手一周

完全出于自己的不小心,刚用了不到一年的6070又丢了,汗
这回发狠买了个大个的blackberry7100v,国内没有行货吧,希望可以避免将手机忘在车筐里之类的sb错误。

入手一周,总之觉得基本具有了我心目中理想手机/PDA的特点,快捷键,短信系统,整合搜索,大屏幕,多任务……竟然还可以像windows的alt+tab一样切换应用程序,另外和电脑的同步做的也不错。
短信系统是亮点之一,回复短信时可以看到之前的消息历史,可以复制/粘贴,还有我梦寐以求的短信报告符号化显示(类似nokia2600)。
不足之处也不少,内存32M太小,并且不支持扩展,另外对中文的支持不好,中文输入偶尔会输入exception错误,另外就是电池支持不了太久(大约一天半左右),另外还是有点慢,尤其在中文输入的时候。还有就是铃声图片传输比较恶心,都需要转成它需要的格式,而且过程比较繁琐,好在我不会经常传铃声之类的东西。
不过毕竟只有600+,算是还实惠的PDA了~

传张图片吧,找手机的时候从网上下的,感觉实际没有网上的图片好看。

Saturday, August 11, 2007

庆祝blogger回归!

几起几落,终于又可以访问了

这就是生活啊
真的艰难
快乐是暂时的
困难是永久的
you will never know the life sucks...