Sunday 26 August 2007

又要回校了

皇马取得了新赛季的开门红,不错不错

对我来说,新学期也要开始了吧

从8月13日晚上11点到家,到明天早上9:00离家,在家呆了13天吧,刚好两个星期的样子。

不错的,其实还是。

想想做了什么事吧,

去了一次海边

饮了三次茶

泡了两回吧

去了一次大排档

k了三次歌

喝了蛮多啤酒

吹了很多水

见了一些同学

看了一本书

逛了二次街

吃了几次饭

散了两回步

回了一趟老家

不容易啊。。。。


Monday 20 August 2007

苏打绿 二十一岁的感动?

真的很有特点的声音,让人分不出男女。

恰好我算是喜欢这种声音吧。。。。

http://www.sodagreen.com.tw/ 苏打绿 的官网

小情歌》 ,《小宇宙》 , 《迟到千年》,《你喔》等等等等都很不错

“你知道就算大雨让这座城市颠倒我会给你怀抱受不了看见你背影来到写下我度秒如年难捱的离骚” 

这句歌词在N多人的qmd上都看到了。。。。








 






★★☆☆苏打绿的由来以及发展☆☆★★:

由来:

2001 年 4 月,苏打绿由主唱青峰、贝斯手馨仪和第一任吉他手组成,鼓手小威则是馨仪政大泳队的学长,听了青峰的 demo 决定加入。第一次参加比赛是 2001 年 5 月的金旋奖,苏打绿带著唯一一首练过的创作曲「」拿下最佳人气奖,也因为这次的比赛,让苏打绿被评审小应挖掘,参与当时角头音乐「少年ㄞ国」的合辑录制,收录的歌曲即为「窥」。 

接连换了第三、第四任吉他手,在 2002 年,苏打绿再战金旋,获得了「乐团组冠军」、「创作组冠军」、「最佳作词」以及「最佳作曲」四项大奖; 2003 年三月,同样是政大同学的两位吉他手阿福和家凯加入苏打绿,加上键盘手兼中提琴手阿龚的加入,苏打绿团员正式底定。同年七月,苏打绿参加海洋音乐祭热浪摇滚的表演,得到制作人林暐哲的青睐, 於 2004 年签为林暐哲音乐社旗下艺人, 至今已发行三张单曲, 也在去年举办几场大型的演唱会,并与陈珊妮、陈绮贞合作演出,同时也在 2004 海洋音乐祭, 夺得评审团大赏。 

今年九月已经推出第一张专辑 ,同名专辑「苏打绿」,此举令歌迷期待已久,兴奋不已。 苏打绿的音乐就像在炎炎夏日突然喝到一口冰凉的苏打水般,既畅快又感动,这也是乐迷们殷殷期盼又愿意等待的原因。 好的音乐不需要太多赘字,只需要用心听以及把耳朵打开就好,自然就会明了。 


◎Pop music 苏打绿 成军年资 8年 乐团 

浩浩荡荡、热热闹闹一批人坐下来,苏打绿的成员总共有六个人,大部分是大学刚毕业和刚考上研究所的年纪,访问他们比较像是老师在课堂上问问题,丢出一个问题之后,总会有一小段不知道谁该要回答的尴尬沉默,接着就是彼此互相推讬,嚷着要推派哪位代表回答。 

渐露头角 

苏打绿的成员多半是政大的学生,鼓手小威、贝斯手馨仪以及主唱青峰是在附中时就组团,大家不约而同考上政大,中间经过几次团员的更迭,电吉他手阿凯、吉他手阿福的陆续加入,最后则是在去年入团的提琴手阿龚,完成了现在的阵容。苏打绿之所以叫苏打绿,怪名字并非有什么深沉的涵意,纯粹只是因为团员觉得“苏打”很适合用来形容自己的音乐,而主唱青峰喜欢绿色,“苏打绿”的名字就此拍案。 

今年的海洋音乐季获得了评审团大奖的苏打绿,很幸运地在当场便得到知名制作人林暐哲的邀约,有机会进入唱片市场,发行单曲唱片。“林暐哲自己到后台找我们,递名片给我。”青峰说:“我当场就吓傻了,马上跑去跟其他团员说:‘ㄟ!他是林暐哲耶!’没想到他们的反应居然是:‘啊?林暐哲是谁啊?’” 

其实在林暐哲之前,已有许多识货的音乐人,向苏打绿探寻过发片的可能,但最后却都无疾而终。“因为他们有的想改变我们;有的只想接收我们音乐里的某个特点,我们都不能接受。”馨仪说:“但是林暐哲同时接收我们的优点和缺点,不试图改变我们,而是让我们的优点发扬光大。” 

无法归类 

苏打绿的音乐很难定义,它有点像英式摇滚,但又不完全是。这也许和六个成员,对于音乐的启蒙和品味都大不相同有关。鼓手小威的父亲是牧师,从小听教会音乐长大;阿凯的音乐启蒙是大学学长介绍他听的齐柏林飞船;阿龚4岁就开始学钢琴,受到古典乐的薰陶最深;青峰在国中以后,接收姊姊留下来的国语流行唱片,开始听王菲的《天空》;馨仪喜欢日本摇滚乐;团长阿福高中时就到民歌餐厅演唱,不过当他说出自己拥有的第一张专辑是Back Street Boys时,马上受到团员的一致炮轰:“亏你说得出口!”、“超丢脸的你!”这样多元的音乐喜好和风格的撞击之下,造就出苏打绿无法归类的音乐风格。即使彼此的音乐品味互不相同,但大家在创作编曲时,都会抛弃成见,讨论的只是:这东西好不好听?彼此喜不喜欢? 

6个人拿起乐器、阵仗摆开,在熙来攘往的西门町拍照的确是一件很招摇的行为,惹来不少人驻足围观。有个男学生怯生生地拿起相机问我:“可以拍照吗?”我好奇回问:“你知道他们是谁吗?”男学生说:“当然知道,他们是苏打绿啊!我超喜欢他们的歌。” 

这是苏打绿的第三张CD, 三首从未发行过的新歌 "Believe In Music" " I Don’t Care",跟 "蜘蛛天空",是2004年7月24号在The Stage现场演出的录音,里头还有两支 Music Video,所以也可以叫做AVCD。 

有人说苏打绿的现场比录音室好听,其实现场录音是个相当严酷的考验,录音室可以错了再来,现场演出却只有一次机会。当然,以现代的录音技术,是可以修补当天演出的错误,但是这张唱片的后期制作,苏打绿完全没有任何一点重唱,重弹的部份,制作人只是尽力的捕捉当天现场演出的氛围。 

因为相信音乐的魔力,相信苏打绿现场演出的魅力,相信音乐不该作假。所以说,就这样吧,让永远变成永远,一个美好而传神的记录。那天的苏打绿很摇滚,跟之前的两张单曲"空气中的视听与幻觉"及"飞鱼"的风格非常不同。 

这个想像力无穷,无法清楚界定曲风的新秀乐团,带着一种台湾年轻乐团中罕见的早熟态度和技术,勇敢的挑战自我极限,用令人喘不过气的爆发力飙起了摇滚,却依然保有原来的华丽美感,这就是苏打绿,永远带来猜不到的惊喜。

DramaSomeday

在pop版看到有人写了这首诗

People laugh and people cry 

Some give up some always try 

Some say hi while some say bye 

Some will forget you but never will I


似有熟悉的感觉,google之,发现原来是去年看的一部北大拍的电影《离骚》的一首歌,还记得是在毕业游上女主角对男主角唱的

终于在某论坛找到了出处。这是一首歌曲的前几句,名叫DramaSomeday,是北大学生汤韵词曲并演唱,严冰钢琴演奏,专门为北大音乐电影《离骚》而创作,

很好听,歌词也很好。


People laugh and people cry
Some give up some always try
Some say hi while some say bye
Some will forget you but never will I

Write down tears or write down smile
Wanna a sun or a kiss beyond night
Wave to all in noise or just a quiet
It is time or the mind which can fly
Congratulations to you let us celebrate the graduation
Drama will be present let us send the invitations
Someday the words can not say out all of the passion
Someday your eyes can answer all the questions
All the stars (have) fallen in to your eyes
and there are where the moon was waken
All the promises (have) fallen into my heart and never be taken
Someday the words just can not say out all of the reasons
Someday my face changes so do seasons
Find out who you are and don't be afraid of it
Drama someday let's try write down some memories of it
Someday the story is over it's just over then
Hold this breath listen to the song of it
(Piano Solo)I laugh i cry and I realize
Some will forget you but never will I
People laugh and people cry
Some give up some always try
Some say hi while some say bye
Some will forget you but never will I

Thursday 16 August 2007

如生
如死
如踏过地狱的烈火

如真
如假
如穿过天堂的云朵
在不断追逐的旅途中

忘却了 心底最初的创痛
在平凡的日子里重复
那些不断轮回的往事随风

如进
如退
如凄风中漂泊的飞鸟

如梦
如幻
如不小心闯进神秘的花园

一些碎事

回家3天了

乘火车的时候,从寝室到正门公交站,下着大暴雨,全身湿掉,居然上了公交后,开出两站,太阳都出来了,sigh 我的rp真是问题。只能穿着湿透了的衣服和鞋乘车了。。。。还发现衣服穿反掉了。。。T.T.只好到了火车站,找个厕所来换成正常的。。。

车上还是很无聊的,把《宽容》看了,记住了一句话,不宽容的根源在于恐惧。。。。

到了广州,在广州大学城玩了一个下午,中大的图书馆真是豪华啊。。。。见到了好些老同学,在中大食堂吃饭,比复旦的食堂好多了T.T.  那边宿舍也舒服,不过树荫少了些

差点没有赶上回家的车,某人跟我说地铁站只有20分钟路程,结果走了一个小时。。。。不过在晚上11点的时候,还是回到了我亲爱的家

14号晓波上了阳春,两人一起去爵士居点了四杯饮料,然后开始吹水,还有dx,hjx,lyy 等人,到11点的时候,出去吃了一份难吃的狗肉。。。第一次吃到这么难吃的狗肉。。。。。

15号去阳江,准备去海边玩,到了海陵岛,闸坡,开始下雨了sigh,还好一会雨停了,于是下水,没有太阳,海水还是有些凉的,不过被浪打了几下,也就没有感觉了,不过玩了没多久,浪太大了,于是所有人都被赶上岸,于是跑去 水上乐园,在那边玩滑水,从高处飞下来的感觉真是爽,然后又漂流了一会,决定去吃晚饭。

回到旅馆,洗个澡,出去吃海鲜,还是濑尿虾,蟹,鬼婆鱼汤,螺,贝,点了一个八爪鱼,居然没有上,居然回到旅馆才记起.....
晚上去酒吧,那个表演的阿姨真的很难看,不过还是很会调动气氛的,喝酒也厉害,我们送了一瓶酒给她,一分钟就吹完了。还跑下来跟我调戏了一番

还到红灯区去转了一下,发现有些mm还是很pp的,叫一辆三轮车拉过去,没有停下来,看着一条街都是那样的。。。还有鸡头给我们一张名片。。。五个男的在闸坡街头走,不断被骚扰。。。真是乱啊。。。。

回到旅馆,睡得很死。第二天早上去饮早茶,猪肠粶还是很好吃,很赞的,再在海边拍了几张照片留念一下,回去阳江了,找了一间k房去唱歌,一个下午68块,真是便宜啊,那里的质量跟上海的k房差不多,很爽!嗓子都哑了。。。。

回到家里,原来今天是我农历的生日 7月初四,居然还买了蛋糕。。。。好像很多年没有在我生日的时候吃蛋糕了啊。。。。依稀记得大伯母在我小时候生日的时候为我亲自做的蛋糕,那种味道,现在还在我的记忆里

明天就回老家了,看看外婆,爷爷,又是半年时间了。。。以后见面的时候会越来越少吧  sigh

Saturday 11 August 2007

碎言——潜藏于心底的无尽悲哀

忙碌的一周过去了,我想,结果还不坏吧,但愿如此吧

只是忽然感觉,自己不适合写程序;向以往所出现的那种感觉一样,只是,这一次更加的深邃。

ScriptID 的事情慢慢了结,VDT 似乎就这样放弃了,Trecvid 也要过去了,这就是我在331一年的经过么?

忽然想到了刚刚放假时所制定的计划,emmm,我完成的太少了,我会的东西太少了.....其实 我就是 Computer Science 的门外汉,无法把握其中的脉络,其实,对于什么,我不是门外汉呢?

还好,我还是学到了一些东西的,细细想来,我真是一个幸运的人,一年之前什么都不懂的,连vc都不会用的。yuhui 真是我要感谢的人的.....其实还有很多人,都是我要感谢的。在一双双手的搀扶下,我才一步步走到一个新的世界吧?

可是?我混乱的思绪能告诉我五年后的情形么?job? 我准备好了么?什么都不会,数据结构,算法,c++,OS,DB哪一个我能说我精通了?充其量不过是可以糊弄一下自己而已。而且,我真的准备过   去 面对 这个 社会了么? 一个人!


在这样的一个结点观望,过去和未来都只能在眼中投影一份巨大的空白!

买了两罐啤酒,被酒精麻醉过的心灵能够把这个天空看的更加清晰么? 其实 已经 一无所有  了。Sigh 所有关于 爱情 的 甜蜜 不过是痴心妄想罢了,有那么一刻,在我的生命里;可是,除了闭上眼睛,我看不到 所有的 奇怪的光亮。8月4号买票,8月12号回家,13号应该是躺在家里的床上了,多么讽刺的日子啊。 曾经 我以为 这是 良药,事实上,你也可以试着 在雨后的草地上,看小池塘的鱼儿游来又游去,然后,抱着一个篮球,还是    科比的 8号。

可是 ,谁真的想过,这个世界一定是这样的吗? 前天晚上,在南超 ,遇见一个很pp的收银mm,昨天晚上,那个收银的变成了男的了,在月凉如水的夏夜,我感受着风,走过这平坦的道路,没有在门外的炒饭摊停下脚步

退着坏了的自行车,车胎很没有由来的爆了,有些夏虫的叫声,在本部静默的空气中,图书馆居然还没有关门,二楼的阅览厅还有许多灯光下奋斗的同学,透过有些阑珊的灯火,心灵才多了一番宁静。原来推着一辆破旧的自行车会比较骑着一辆破旧的自行车有意思,原来 我还是 嫉妒他们的,我知道。。。我做不到。。。。

想有拍一部电影的冲动,想记录下也许更多是属于自己的人生,想起一句话,真正NB的导演是那种能把平淡的生活拍成电影的人。 我的平淡生活,永远只有我一个人在上演,一个人是观众吧,这   注定是一种完不成的念想。我也知道,这种冲动早晚会淡忘,就像夜深人静独处空房的时候,可是冲动归冲动,除了XX 生活还要继续,每个人都有自己的解决方式,然后淡忘,然后在多年后的某天想起,然后感叹,当初我真是年轻啊。。。

似乎我可以知道一样,怎么不会是,在以后,就连这里,都会被我永远的遗忘,于是,留下最后的一片虚空,无神的眼睛里,天真的笑颜 还是 轻蔑的注视, 然后就乱了,就像黑白的棋盘中飘落的一片叶子,就像华丽的曲调中忽然凌乱的鼓点,就像方鸿渐多年之后再次看到唐小姐,我转过身去,火车的门已经打开。。。。

从我踏上火车的那一刻,我的大三就已经过去。从我从家中再次出发的时候,我的大四就要开始。在繁复的纷杂中,“偷得浮生半日闲”,算是人生中的一大乐事吧,我还是要学着如东坡居士一样, “一蓑烟雨任平生”

至少我已经足够幸运

虽然 我 依然 迷惘 ,虽然 我 仍然 期盼 幸福

以为记

回家前的最后一篇blog

2007 08 12  0:25 
flydreamer

两本小说

上周看了两篇科幻小说

阿西莫夫  《神们自己

刘慈欣 《中国2185

记住了一句话

都束手无策。

德国剧作家席勒的一句名言

Thursday 9 August 2007

细谈VC程序调试的若干方法[zt]

细谈VC程序调试的若干方法


VC所依赖的开发平台Microsoft Developer Studio本身提供的调试功能并不弱,每当我们创建一个新的VC工程项目时,默认状态就是Debug(调试)版本,在"组建"(Build)菜单下的 Configurations中可以看到除了调试版本还可以设置成发行(Release)版本。调试版本由于包含了大量信息,所以它生成的可执行程序容量 会远远大于发行版。
具体地,调试版本主要增加了两个内容:其一,会执行编译命令_D_DEBUG,使头文件的调试语句ifdef及其代码附加到程 序中;其二,在可执行文件中加入的调试信息使开发人员能够观察变量,进行单步执行等。在VC"组建"(Build)菜单下的"开始调试"中有4条专用的调 试命令:Go,Step into,Run to Cursor,Attach to process…。在运行程序源代码时用Go命令(而不是Execute)才能处于调试状态, Go命令会使程序运行变得缓慢下来,但可以更好地控制运行程序,我们可以在任何时刻中断程序、单步执行、查看变量、检查调用栈。
有必要详细介绍一 下VC的调试功能:首先,再次强调要用Go命令运行一个将要调试的程序;如果要中止调试状态下的运行程序可以点击Stop Debugging命令,还可以通过Break选项以可恢复方式中断调试程序的运行流程(用Restart选项可以重新开始运行程序);Step Into选项表示每次只执行一行语句(单步执行),但如果当前代码是调用一个函数,那么Step Into表示进入该函数,全部函数语句执行完后返回,而Step Over则是跳出这个函数;Step To Cursor选项表示程序将执行到光标所在的可执行语句行上;在调试多线程程序时,可以在线程函数或主应用程序线程中设置断点,还可以用Break选项结 束线程后用Threads选项查看运行线程列表,也可以选择悬挂和恢复每个线程;在设置断点后,在VC "查看"菜单的"调试窗口"中可以查看变量、内存、调用堆栈、寄存器以及反汇编语句。在程序中设置断点的方法是,点击要设置的代码行并点击设置代码的工具 栏按钮,会出现在代码行最左边的一个小黑点即是断点标志,这时再选Go程序会在执行到端点处停下来,如果要继续执行可以再选Go。
通过选择VC" 工具"菜单下的"源浏览器"可以生成一个.BSC文件,使用浏览器可以从中发现多种信息:程序中任何一个变量、函数、类或宏在何处定义及引用;可以列出所 有声明的函数类、变量、宏;可以发现调用一个指定函数的所有函数;可以找到一个指定类的派生来源或者它派生出哪些类。
在使用微软程序开发库 MSDN时,我们会发现其中的VC示例经常采用看似多余的ASSERT语句,其作用就是使程序具有"维护"性。对于Debug版本的VC程序,在遇到布尔 值为FALSE的ASSERT语句处停止,并显示Assertion Failed对话;如果设置为发布版,所有ASSERT语句都会被预处理程序删除。一个地道的VC编程员,应该有意在自己的代码中通过"维护"特征去检测 任何设定,诸如输入参数、循环范围和变量值的设定。
在安装好VC系统之后,在VC之外的程序组中有一个程序Tracer是一个跟踪工具,在激活它 后使用Go运行VC代码,在输出窗口就能够看到程序运行过程中的内部过程,包括DLL调用等,你如果看不到任何输出,可以转到菜单"查看"(View)点 击"输出"(Output)。
其实,MFC自身就提供有错误查找和TRACE语句,而TRACE语句的语法与printf非常类似,所以我们可以在程序中直接加入这条跟踪命令,如下所示:
// Example for TRACE
int i = 1;
char sz[] = "one";
TRACE( "Integer = %d, String = %s\n", i, sz );
// Output: 'Integer = 1, String = one'
在Developer Studio中还提供了一个ERRLOOK工具,程序员只要输入错误号就能得到系统出错信息或模块错误内容.
MFC从Cobject派生的每个类都包含一个Dump函数,该函数可把当前状态转储(Dumping)到输出窗口,这在某些调试过程中会有用,以下代码是Dump函数的用法:
// Example for CObject::Dump
void CAge::Dump( CDumpContext &dc ) const
{
CObject::Dump( dc );
dc << "Age = " << m_years;
}
在MFC 中还有一个非常有用的类是CMemoryState,我们可以在程序的任何部分使用这个类检测内存冲突,并得到内存冲突的确切位置。 CMemoryState类有3个成员函数:CheckPoint可将堆的当前状态存入类的实体;Difference可以比较两个实体包含的堆之间的差 异;DumpStatistics用于标准化转储所有被CheckPoint捕获后分配到堆的对象,如CheckPoint未被调用实体未被初始化时,该 函数将转储当前堆的所有内容。以下代码表示了CMemoryState类的使用方法:
// Example for CMemoryState::CMemoryState,
// Includes all CMemoryState functions
CMemoryState msOld, msNew, msDif;
msOld.Checkpoint();
CAge* page1 = new CAge( 21 );
CAge* page2 = new CAge( 22 );
msOld.DumpAllObjectsSince();
msNew.Checkpoint();
msDif.Difference( msOld, msNew );
msDif.DumpStatistics();
代码运行的结果为


Dumping objects ->
{2} a CObject at $190A
{1} a CObject at $18EA
Object dump complete.
0 bytes in 0 Free Blocks
8 bytes in 2 Object Blocks
0 bytes in 0 Non-Object Blocks
Largest number used: 8 bytes
Total allocations: 8 bytes


在MFC类和VC中本身就有"异常情况"这个概念,并在此基础上形成它们处理系统错误和意外的主要机制。比如当系统内存分配殆尽时,你的运行程序就会收到内存异常的消息。这样就给了程序员消除异常的机会。


MFC中的异常情况主要有:CArchiveException表示档案文件载入或保存时出错,CDBException属于数据库错误, CFileException为文件错误,CMemoryException为调用new时发生分配错误,CNotSupportedException 表示指定操作不被支持,COleException表示在调用OLE操作时出错,COleDispatchException表示在OLE自动操作时出 错,CResourceException表示资源找不到或无法创建,CUserException用于通知用户错误。


MFC还包含一系列以Afx-为词头的调试函数:AfxAbort可以在发生致命错误时异常终止程序,AfxCheckMemory可以检查堆和剩 余缓冲池的受损部分;AfxDoForAllClasses重声明所有CObject的派生类;AfxDoForAllObject重声明堆上所有 CObject派生的对象;AfxEnableMemoryTracking启用或禁止内存追踪;AfxIsMemoryBlock用于确认指针所指内存 有效;AfxIsValidAddress用于确认地址是驻留在程序的内存区域内;AfxIsValidString用于确认地址所指字符串有效; AfxSetAllocHook用于内存分配前进行检测;AfxTraceEnabled启动或禁止输出跟踪,AfxTraceFlags则进一步定制跟 踪特征。


在我们随手编制的VC程序中,普遍存在着会发生内存泄漏的隐患,有些问题程序的痼疾症状是在处理数据量激增时陷入瘫痪,更糟的要发现内存泄漏并不容 易。首先,我们要明确VC中内存泄漏的含义:简单说就是一个程序申请得到了一段内存却没有及时释放。比如用new在堆中分配了一个对象或对象组却并没有调 用delete操作。灵活的指针技术使内存泄漏的原因变得复杂化,比如改变了保存在一变量中的指针的值后未能删除指针所指向的内存区;当内存泄漏是来自一 个带有指针类型成员变量的类时会更加困难,因为当调用分配指针时并没有复制构造函数/析构函数或运算符


为了防止发生内存泄漏这样棘手的故障,在VC编程时应当注意遵循几个规范:其一,如果一个类包含有指针并且分配了指针值,那么就需要构造相应的析构 函数以删除该指针;其二,如果一个函数分配了一块内存并把该内存块返回给调用它的函数使用,那么它返回的必须是一个指针而非一个引用,因为引用不能被程序 删除;其三,即使一个函数分配了一段内存并在同一函数的稍后部分删除了该内存段,也要尽可能将内存块分配到堆栈中;最后,就是决不要试图改变一个指针值, 除非已经删除指针所指的对象或通过数组指向了该指针所指向的内存,而且也不要对new返回的指针进行加1运算


每当编写VC程序时,我们都会处于一个琳琅满目的集成开发环境(IDE)中,现实的真相是我们很多人在这里编程多年,对开发环境了解并不全面和细 微。记得王朔的小说中有句话说"穿了多年的外套在不穿时才发现它原来还有一个兜!"。我们在安装VC时,得到的IDE即Developer Studio, VC其实是Developer Studio下激活的一个组件而已,比如微软的VJ++也是基于Developer Studio。很少有技术书籍会一一介绍Developer Studio界面元素,也许聪明的程序员轻易就能识别其含义,全部猜对界面图符的含义并非易事。可是它们对我们了解开发信息很重要,也与调试程序有关联。


在Developer Studio下会生成多个文件去保存项目的所有信息:一个是以.DSW为扩展名的项目工作区文件,它包含项目中所有文件的名称、文件所在目录、编译器和连 接器的选项以及项目工作的其它信息;以.DSP为扩展名的也是项目记录文件,.OPT是工作区选项文件,它包含Developer Studio的所有个人设置 - 包括颜色、字体、工具栏、哪个文件被打开以及MDI窗口如何被定位和最新调试中的断点等。在打开项目工作区文件时其它文件随即会自动打开。在 Developer Studio下可以按类查看代码,其中的ClassView显示了应用程序中所有的类,每个类下显示了成员函数和数据成员,在成员函数旁有粉红图标,数据 成员旁是蓝绿色图标,保护类成员的图标旁有一枚钥匙,私有类成员则有一个挂锁图标。


当然,在开发环境下最主要的工作是输入编辑程序源代码,源代码会显示"语法着色"。在缺省情况下,代码为黑色,夹以绿色的注释和蓝色的关键字(指 VC所保留的public、private、new和int等等)。--这些地球人都知道,但是为了调试需要,我们还可以指定颜色去显示字符串、数字和运 算符。定义方法是通过Tools菜单下的Options对话框中的Format选项卡设置。


在Developer Studio提供的诸多菜单项中,我们往往对少数菜单避而不用,因为不了解它们的作用唯恐好奇心会造成乱子;还有多个菜单项都可以达到目的,至于它们之间 的微小差别则不甚了了。比如在编译和调试时常用到Build菜单组,它具有和应用程序编译、运行调试相关的多项操作:其中的Compile菜单会编译当前 的聚焦文件;Build菜单会编译和链接所有在项目中修改的文件;Build All会编译链接项目中所有文件,包括最近编译后没有修改过的文件;Batch Build用于包含有Debug和Release配置的项目;Clean会删除所有的中间和输出文件,因而项目目录下仅包含源文件;Debugger Remote Connection用于远程调试,即在一台机器运行程序而在另一台调试;Set Active Configuration可设置某个配置为激活状态(Debug或Release);Profiler能够识别应用程序的瓶颈,即找到降低程序执行速度 的代码和有关模块,为此需要在"工程/设置/Link"下勾选Profiling。


VC中的警告信息是有级别的。在"工程/设置"下的"C/C++"选项卡中的警告级别Warning Level缺省值是3,如果改为更为严格的4级,往往会产生更多的警告类错误。在C/C++选项卡中还提供了代码优化栏Optimizations,在你 完成漫漫调试之旅准备正式发布前夕,你应当改动此项,它提供了一些适合建立发行版应用程序的优化设置。


其实,在多年以前,在软件业中针对开发具有一定规模软件项目的情况就出现了软件工程理论,以此来指导软件人员树立团队协作意识,进而保证软件项目的 协调性及进度质量等。笔者在从事VC开发中对此很有感触,而且觉得对于每个开发人员自己也应当具备一定的工程素养。比如,我们在开发初期时,应当对所编写 的有价值的源代码及时备份,即使有些代码在后续阶段似乎没有用处了也不妨“敝帚自珍”。在VC编程中我经常遇到的问题是,一个不算小的编写了很久的程序, 在稍微扩展一点功能时出现了故障,而最挠头的时花了很多时间也无法排故,所幸的是对原来的程序我还有备份,可以重新再来--功能还要加,只是还一种编程思 路去实现相同的功能。说实在的,本人在VC开发中,如果要总结“解决了多少问题”,不如说很多时候是采用"游击战"巧妙地"绕过"了一些棘手的问题。-- 尤其在软件交工处于倒计时的开发后期出现的故障,往往你已经没有时间去找到故障,而是用前一个完好的VC Project去尝试另一条捷径。


VC 调试

功能强大的vc6调试器


作者:yy2better



   要成为一位优秀的软件工程师,调试能力必不可缺。本文将较详细介绍VC6调试器的主要用法。
   windows平台的调试器主要分为两大类:
   1 用户模式(user-mode)调试器:它们都基于win32 Debugging API,有使用方便的界面,主要用于调试用户模式下的应用程序。这类调试器包括Visual C++调试器、WinDBG、BoundChecker、Borland C++ Builder调试器、NTSD等。
   2 内核模式(kernel-mode)调试器:内核调试器位于CPU和操作系统之间,一旦启动,操作系统也会中止运行,主要用于调试驱动程序或用户模式调试 器不易调试的程序。这类调试器包括WDEB386、WinDBG和softice等。其中WinDBG和softice也可以调试用户模式代码。
   国外一位调试高手曾说,他70%调试时间是在用VC++,其余时间是使用WinDBG和softice。毕竟,调试用户模式代码,VC6调试器的效率 是非常高的。因此,我将首先在本篇介绍VC6调试器的主要用法,其他调试器的用法及一些调试技能在后续文章中阐述。

一 位置断点(Location Breakpoint)
   大家最常用的断点是普通的位置断点,在源程序的某一行按F9就设置了一个位置断点。但对于很多问题,这种朴素的断点作用有限。譬如下面这段代码:


void CForDebugDlg::OnOK()  
{
for (int i = 0; i < 1000; i++) //A
{
int k = i * 10 - 2; //B
SendTo(k); //C
int tmp = DoSome(i); //D
int j = i / tmp; //E
}
}

   执行此函数,程序崩溃于E行,发现此时tmp为0,假设tmp本不应该为0,怎么这个时候为0呢?所以最好能够跟踪此次循环时DoSome函数是如何 运行的,但由于是在循环体内,如果在E行设置断点,可能需要按F5(GO)许多次。这样手要不停的按,很痛苦。使用VC6断点修饰条件就可以轻易解决此问 题。步骤如下。
   1 Ctrl+B打开断点设置框,如下图:

Figure 1设置高级位置断点
   2 然后选择D行所在的断点,然后点击condition按钮,在弹出对话框的最下面一个编辑框中输入一个很大数目,具体视应用而定,这里1000就够了。
   3 按F5重新运行程序,程序中断。Ctrl+B打开断点框,发现此断点后跟随一串说明:...487 times remaining。意思是还剩下487次没有执行,那就是说执行到513(1000-487)次时候出错的。因此,我们按步骤2所讲,更改此断点的 skip次数,将1000改为513。
   4 再次重新运行程序,程序执行了513次循环,然后自动停在断点处。这时,我们就可以仔细查看DoSome是如何返回0的。这样,你就避免了手指的痛苦,节省了时间。
   再看位置断点其他修饰条件。如Figure 1所示,在“Enter the expression to be evaluated:”下面,可以输入一些条件,当这些条件满足时,断点才启动。譬如,刚才的程序,我们需要i为100时程序停下来,我们就可以输入在编辑框中输入“i==100”。
   另外,如果在此编辑框中如果只输入变量名称,则变量发生改变时,断点才会启动。这对检测一个变量何时被修改很方便,特别对一些大程序。
   用好位置断点的修饰条件,可以大大方便解决某些问题。

二 数据断点(Data Breakpoint)
   软件调试过程中,有时会发现一些数据会莫名其妙的被修改掉(如一些数组的越界写导致覆盖了另外的变量),找出何处代码导致这块内存被更改是一件棘手的 事情(如果没有调试器的帮助)。恰当运用数据断点可以快速帮你定位何时何处这个数据被修改。譬如下面一段程序:
#include "stdafx.h"
#include

int main(int argc, char* argv[])
{
char szName1[10];
char szName2[4];
strcpy(szName1,"shenzhen");
printf("%s\n", szName1); //A

strcpy(szName2, "vckbase"); //B
printf("%s\n", szName1);
printf("%s\n", szName2);

return 0;
}

   这段程序的输出是
       szName1: shenzhen
szName1: ase
szName2: vckbase

szName1何时被修改呢?因为没有明显的修改szName1代码。我们可以首先在A行设置普通断点,F5运行程序,程序停在A行。然后我们再设置一个数据断点。如下图:

Figure 2 数据断点
   F5继续运行,程序停在B行,说明B处代码修改了szName1。B处明明没有修改szName1呀?但调试器指明是这一行,一般不会错,所以还是静 下心来看看程序,哦,你发现了:szName2只有4个字节,而strcpy了7个字节,所以覆写了szName1。
   数据断点不只是对变量改变有效,还可以设置变量是否等于某个值。譬如,你可以将Figure 2中红圈处改为条件”szName2[0]==''''y''''“,那么当szName2第一个字符为y时断点就会启动。
   可以看出,数据断点相对位置断点一个很大的区别是不用明确指明在哪一行代码设置断点。

三 其他
   1 在call stack窗口中设置断点,选择某个函数,按F9设置一个断点。这样可以从深层次的函数调用中迅速返回到需要的函数。
   2 Set Next StateMent命令(debug过程中,右键菜单中的命令)
   此命令的作用是将程序的指令指针(EIP)指向不同的代码行。譬如,你正在调试上面那段代码,运行在A行,但你不愿意运行B行和C行代码 ,这时,你就可以在D行,右键,然后“Set Next StateMent”。调试器就不会执行B、C行。只要在同一函数内,此指令就可以随意跳前或跳后执 行。灵活使用此功能可以大量节省调试时间。
   3 watch窗口
   watch窗口支持丰富的数据格式化功能。如输入0x65,u,则在右栏显示101。
   实时显示windows API调用的错误:在左栏输入@err,hr。
   在watch窗口中调用函数。提醒一下,调用完函数后马上在watch窗口中清除它,否则,单步调试时每一步调试器都会调用此函数。
   4 messages断点不怎么实用。基本上可以用前面讲述的断点代替。
总结
   调试最重要的还是你要思考,要猜测你的程序可能出错的地方,然后运用你的调试器来证实你的猜测。而熟练使用上面这些技巧无疑会加快这个过程。最后,大家如果有关于调试方面的问题,我乐意参与探讨。

Monday 6 August 2007

V for Vendetta

看到蛮多《1984》的影子

忽然想到,1984对于西方人的影响,奥威尔确实NB。

苏维埃 和 法西斯 对于 欧洲的影响 会告诉我们 那样的一个未来永远不会存在

I hope. 

只是 世界没有完美

===========================

发现revolution 的开端都是音乐

1812序曲 在开头和结尾两次响起,高潮就是专制的symbol 倒下

在烟花的映衬下,我真的能够看到面具下他们的笑脸

音乐 是 自由 的语言 ,所以  可以超越 人类

=====================================

但是电影终究是电影

那边终究是那一边

快要20年了,  忘了吗?


V字仇杀队/V for Vendetta(2005) 电影图片 海报 #01 大图 1024X1512

Sunday 5 August 2007

巧合?沟通?——《Babel》

繁复的凌乱的场景碎片,不过这样的剪接对我来说已经不算新鲜了。

从摩洛哥到日本,从美国到墨西哥,一切似乎就被一棵小小的子弹给连接起来了。

日本的那段场景似乎有些游离,不过最后赤裸的女儿与父亲紧紧拥抱是这部电影最让我感动的一幕

在文明的参差多态下,我们首先需要的是尊重

最后还是一个happy ending吧

即使那个墨西哥女人,最后也回到家了,和她儿子相拥,虽然。。。。被驱逐出境。。。。

8g一些其中的演员:

布拉德皮特的变化好大啊。。。虽然好久没有看到他了。。。。

里面ms有摩托日记里面的切格瓦拉的扮演者,就是那个墨西哥女人的侄子。。。。。

还有那个日本聋哑mm蛮pp的,而且似曾相识


通天塔/Babel(2006) 电影图片 海报 #01 大图 1686X2500

爱?——Before Sunrise

看了《before sunrise》,看了《before sunset》的一段

发现 导演理查德·林克莱特真是个讲故事的高手,两个人就这么着对话,就这么着爱情,就是一部这么perfect的电影。相比之下,老徐的《梦想照进现实》还是淡薄了一些。。。。

都是一个夜晚的故事。。。

维也纳真漂亮,里面的这首诗也很赞
        Daydream, delusion, limousine, eyelash
  Oh baby with your pretty face
  Drop a tear in my wineglass
  Look at those big eyes
  See what you mean to me
  Sweet-cakes and milkshakes
  I'm delusion angel
  I'm fantasy parade
  I want you to know what I think
  Don't want you to guess anymore
  You have no idea where I came from
  We have no idea where we're going
  Latched in life
  Like branches in a river
  Flowing downstream
  Caught in the current
  I'll carry you
  You'll carry me
  That's how it could be
  Don't you know me?
  Don't you know me by now?

很小众的电影

适合拿着一杯coffee,躺在沙发上,慵懒的看着英文字幕,为其中的台词击节叫好,最好,身边还是一位 他/她

很不幸。。。。。我什么都没有=,=b

不知道before sunset会怎么样,9年之后,还是两个人在聊,也许会有惊喜吧,不过我却没有看下去的欲望了。

不过里面两个人讨论那年冬天有没有去维也纳的对话很是很赞,男人是要这样子滴..........

T.T.等我满足了某些条件再看吧

你在那里——云之彼端,约定之地

“在那云的彼端,是我们约定的地方……”

那个少年,在空旷的病房,对着心爱的少女,伸出手,轻轻的说:你在那里
她已不在这里,可是她也能感觉得到,她伸出手,在一个人的病房里
虽然你不在这里,空气中都是你的气息
瞬间回到年少时的海边
那个约定
从来没有被我和你忘记

如诗的一部电影

所有台词都在耳畔轻轻的跳动

一个关于约定的故事

一个不真实的世界

两个少年和一个少女 天真的梦想

故事平淡的让你忘记了时间的流逝

感觉得到的是那美丽的不真实的画面

还有 最后的片尾曲响起的时候

我会想起了什么?




结束曲《きみのこえ》(你的声音)





你的声音
作曲/编曲 天门
作词 新海诚

潜入苍穹的天空
遥远的那一天的颜色
心灵深处的无人知晓的伤痛
我用尽一切的语言 也已远去
寄托着心情的每一天 现在你依然 温暖着我
你的声音 你的身影 是照耀我的光芒
无论如何 希望在何处的你 能够听到 我的声音
我要活下去

光照在灼梁轨 回映在远方 那日的音
在云的云的那一边 现在仍有 我们约定的地方
不时被孤独所包围的困顿的心
在过去的时间中 一定是 我渐渐丢失了你
你的头发 天空和云 是怎样的世界 充满了神秘
你的声音 温柔的手指 风一般的肌肤
让我的心变得坚强

你的声音 你的身影 是照耀我的光芒
无论如何 即使生活的地方不同 也能温柔坚强
我要活下去

买票记

发信人: flydreamer (0472|我爱wikipedia^_^), 信区: Rabbit
标  题: 买票记
发信站: 复旦燕曦BBS (2007年08月05日18:04:31 星期日), 转信


窗外大雨滂沱,独自一人在寝室里,饭后无聊,兼且观摩了杨德昌大师的电影,心心念念得找点
东西来写一下....人总归会有无聊的时候,还是回家好


所以昨天就跑去买回家的票了,在一个不算特殊,也不算普通的日子里.天气还是蛮好的,不甚
晴朗,于是也不是很热.不过还是早早起床了...可是也没有早早就去买票...吃点东西,灌灌
水,就要到了9点多,然后不知不觉就到了中午....好吧,我真不知道为什么就时间就哧溜溜的
就跑掉了...然后去乘942,一切都蛮好,车上还有位子,俺也觉得挺舒服的,就迷迷糊糊要睡觉
了,偶是容易满足的小兔子啊....


到了火车站,天气真的很好,身边的人也很正常,恩,一切都很正常,我也要很正常的去卖火车
票了,恩,我发现了,事情就是这样子转折的....很不幸的,偶意识到偶没有带学生证T.T....
好吧...那么就再跑一次吧...我决定还是轻轨回去了....


在轻轨路上,偶觉得比较不爽,凭啥偶就得跑两次才能买到火车票呢~~~><~~~还是这么热的天
气.不过这个不是最郁闷的....更悲剧的事情发生在偶跟朋友说了这事之后,某人直接回我"
rpwt啊...莫不是你最近干的坏事太多了吧...有空多bg我吧." T.T. 咋我就没有发现我平时
做过啥坏事捏~~~~要不是TA离我忒远了点,流血事件那是不可避免滴,hj


不过!!!!!为啥偶收到的安慰短信都是这一类型的捏....想起上回偶刚失恋滴时候,msn上N久
没在MSN上聊过的某人忽然发个消息过来"原来你失恋拉....哇靠...好不容易有一个,那你以
后找不到女朋友怎么办.我觉得你以后找不到gf了".....偶这兔子做的也太可怜了T.T.更让
我郁闷的是,偶还不得不承认TA这话还真他妈的正确.....天啊....外面不要下雨了,下雪吧!
!!!


不过呢,还是有很多善良诚恳正直的筒子们给了偶许多"momo"的----额,好像这个"许多"<2
T.T.----足以支持我没有吐血而亡,而是走出赤峰路站,然后又上942,居然奇迹发生了..是
同一辆942,售票阿姨ms也认出我,奇怪的看着我,我冲着她不好意思的笑了一下,心想着
,说不定呆会又碰上一次呢......


回到寝室,把学生证找出来,然后喝水喝水....渴死我了....休息了一会,又要重新出发
T.T. 人生总是这么残酷,你不得不一次次的去买火车票......于是再又上了942,居然!!
!!居然!!!!谢天谢地....终于不是同一个售票阿姨了,然后一路顺畅,到了火车站,
买了火车票,发现现在火车票居然不是用纸做了,ms是塑料,售票的jj挺冷艳的....caca
生命还是很美好的,除了偶跑了两次火车站T.T.


结局的交待总是很无聊滴....这样的雨天大家以此消遣之吧,hiahiahia.....还是happy
ending呢

Saturday 4 August 2007

第几次爱上你

今天在轻轨上忽然听到这首歌

被这首歌的名字吸引

回来后就下载来听了

原来辛晓琪的声音是这样的动听

我还是第一次发现呢
================================================
歌手:辛晓琪 专辑:爱的回答
有一天下着泪
陪我漫步寂寞里
以前的事情像场无声电影
我每到却已经回不去
当年了不起的记忆
像个孩子般的爱情
如果你忘记那有可以努力寻找别的东西
推翻往事历历
然后又问自己
有没有这种能力
第几次爱上你
不想骗自己忽然间又像刺伤了心
第几次爱上你
爱上永远都说不定
会不会般忘了你
从此就一个人过下去
我至少爱过你
你的野蛮你的叹息
是时候做个决定
全都摆在时间里
每一次分开都有一个复辟
怪就怪这几天下的雨
我需要你的回忆
谢谢你爱过我关于我们的这一定
我不会说世上有多少的不一定
我至少爱过你
你的浪漫你的冷意
我需要你的回忆
谁有记得注意当时的约定
你曾说过的事情我加上了
也许

Friday 3 August 2007

桂纶镁:淡江大学毕业感言

喜欢这样的文字


=========================================
给很快很慢之后 即将来到的你 

        桂纶镁(法文系毕业生)


亲爱的,你好吗?曾经被我遗弃又拾起的你;曾经被我深爱又极度被我憎恨的你;曾经被我快乐拥起又被我 用力踹了几脚的你,好吗?永远属于你的我,将要离开你,走向永远未知的黑洞,我要离开你,坚决的走开,我们都会更愉悦而客观的看见我们未曾看见和感受到的 彼此,有一天,我们会在门前相会,互相交换着彼此的棒棒糖,尝尝我和你,这一路百般的滋味。 
 
在很快很快很慢很慢很慢很慢很快来到的某一时刻里,忆起…… 
 
赶往毕业考途中,拥挤的公车上,看着响起的手机,一个陌生的电话号码。正犹豫是否要在这混乱的当下接起手机时,手指已自做主张按下了通话钮;顿时,我屏 住了气息,诧异的情绪油然升起。「我现在要去毕业考,可以晚一点打给我吗?」从那一刻起,恐怖的电话内容就一直萦绕在脑中在心里。一种紧张的情绪就这样窜 流在我的血液,我的细胞,我的每一寸里里外外。「我总是害怕要我写什么感言什么推荐信什么鼓励人心的话。我总认为要很纯粹没有负担的去体验一切嘛!给予太 多意见太多鼓励,在还没接触之前就听了太多前车之鉴,是会丧失了那种本能很单纯的直觉和体认的。」所以,我总是害怕接到这样的邀约,可笑的是我又同时有着 很不会也很不忍心拒绝别人的个性。 
 
「喂?你好!我是淡江时报的编辑,想请你写一篇毕业的感言。」 
 
或许在很快或很慢出现的某一个时刻里,会在塞纳河前看见了淡水河;在英国的炸鱼摊贩前闻到了大吉祥的臭豆腐;在意大利吃着道地意大利面时,仿佛有着大陆 面店酢酱面的味道;或许,在印度纷杂的人群中,听见、看见了淡大中午 12点,人烟杂沓的景象,学生们阳光灿烂般的喊叫…… 
 
得和同学们讨论报告:一份极难有头绪又快到交件日期的报告。焦急的心情和 那编辑的声音,搅动着原已是骚动的灵魂,我晃荡着双脚,谈着有一搭没一搭看似有头绪却又毫无章法可依循的自以为行得通的报告主题,双脚晃荡得更厉害了,我 极想逃出这个混乱无章的空间时间,极想在焦虑之中对于报告对于此时要放在淡江时报的稿子有些头绪,但脑中有的却是,一团缠着的打了死结们的黑线球,我怒吼 着自己的荒芜,并冲向通往外界一切光鲜明亮的公车站,我笑了!这个整修过了的公车站,一片红通通的喜气,无论是离开还是进入,又都是个启程和结束,红色, 给予人们温暖也相对的残酷,但阳光耀眼的晒着我的头,跟着我奔跑的路,不发笑,也难。或许,在即将来到很快很慢很慢很快的某个时刻,我会在另一处的公车 站,看见这一片鲜红、想起这一个下午和那痴傻的笑。 
 
步出毕业考教室前,我回头看了看还浸在交卷后百般忧虑又参着欢愉气 氛下的同学们,我知道,这是最后一次看到这班上大部分的人了(只有少数和我继续有着其它考试),我一向是很容易感伤的,但那一刻,我只在心中轻轻说了声再 见,没有人看见我那匆匆的回头,更不会有人察觉到,那匆匆的一瞥是带着浅浅的微笑和祝福,对!那是我最后一次见到他们,他们在我脑中的样子,只有模糊的影 子,或许,在即将来到很快很快或很慢很慢的某一时刻,他们一张张漾着青春的脸,就一一出现在我荒化的田里,为我注入更多的勇气和笑声吧! 
 
每一次来到这家咖啡厅,店内的朋友就会很「贴心」的为我放起法文歌曲,不知道他们是否是为了我还是他们本来就喜欢法文歌,但我宁愿很自恋的以为他们是因为我而让大家和我都听见法文'歌,这一次,他们总算换了张我没听过的专辑……听着丰富的合声,是音乐撼 动了我的底心还是这一连串我以为不会立即被唤醒的想念,使我感动了起来,好象哲学老师说过德乐兹的「」,此时,我是被音乐的每一个音符跳动而唤醒了一幕 幕我曾经青春曾经苦痛曾经压力过大曾经害羞曾经放肆大叫曾经严肃曾经认真曾经打瞌睡曾经逃课的所在,有一股流,流,得到,然后无以名状的在身体里,流动 着,是感动是悸动是身体起鸡皮疙瘩是必要的大口呼吸。我看见了,看见这 3年我漫步在淡大如幻似梦的路程。 
 
我还是没能停止焦虑,那个唯有告诉自己「面对吧!」的督促,才使我还继续荒芜的坐在计算机前。不知所以然的整整一个星期,忙碌的脑袋不时会不自觉的挪出空位,想想关于写感言这一件事情,我并非溺在后悔答应写稿一事,而是困惑着关于我所感知的这 3年大学生活,它们到底是什么? 
 
这一次我破例演出,唯一说服我的,是我自己。我想,或许可以藉由这个方式,或多或少的整理一下,在淡江大学 3年( 1年在法国)来的概括感受。概括,是因为,有太多的感觉,一定会在写完这篇文章后的几天几个月几年中,慢慢慢慢的,才再表出。 
 
坐上从淡水出发的捷运,这是一个晴朗的下午,我总爱拣选有阳光晒着的座位(通常都没有人想坐,所以附近也显得较为冷清),并且总是希望能坐到靠河的那一 边,河水和着污泥的蓝色和天空的很不相同,但却因着阳光有一整片的温暖,河上有小小船只,天空有些云朵,所有景物都在阳光中掺上了金粉,有时我会刻意将小 脸朝着太阳,眼前成为一道光墙,所有景致都不再清楚,蒙上了层光雾,我会眯起眼,直到再也眯不了了,闭上。阳光的夺目和一整片金黄,总带给我无比的希望。 我告诉自己,如果没有来念淡江大学,我将失去的是这一整个四季更迭的风景,这一个孩子般与阳光的游戏。唯有像此时,不知是很快还是很慢来到的时刻,或只是 一个转瞬,我才能忆起吧! 
 
亲爱的,你好吗?曾经被我遗弃又拾起的你。永远属于你的我,将要离开你,走向永远未知的黑洞。 
 
或许,我要在很多很多年以后很快很快很快的转瞬间,才能很深刻的感受到你带给我的「流」;才会微笑的流下一滴泪,想起你对我全部的好与坏。 
 
                                                                                      


                                                                                               
                                                             桂纶镁 写于 2006 05 28   温州街 雨中的初夏

从《蓝色大门》到《不能说的秘密》

或者说,从 孟克柔 到 路小雨............2002——2007 当年的青涩已经变得这样的成熟

时光的流逝不可避免,为何,我竟然有种落寞的感觉

在万达影城的空旷的影厅中,我还注意到我身后那边一对情侣搂抱在一起,只是让我奇怪的是,为什么从我那里看去,他们的身上是那么亮,幻觉还是有意的? 我不知道.........也不知道yuhui,lena和joy的感觉是什么,对我,似乎脑中又出现了蓝色大门里的那个一袭白衣的孟克柔。

回归电影本身,像是一个好故事,jay的初次导演还是很有想法的,有想法的人就是好,终究可以看到自己的才华在虚拟或者现实中弥漫。虽然,在我眼中他的演技属于没有入门的,可以偶像的魅力对很多人来说已经够了,况且,还有桂纶镁的存在。

结尾我很喜欢,因为留下蛮大的想象空间,还有她的轻轻一笑。还有一些《海上钢琴师》与《如果爱》的影子。我不做剧透党,所以不说电影,只讨论桂纶镁,贴两张相隔五年的桂纶镁的照片,从中可以清晰的看到变化的

还有感谢yuhui 和lena还有joy 和我一起去看电影^_^






不能说的秘密/Secret(2007) 电影图片 剧照 #08 大图 2470X1638

Thursday 2 August 2007

MFC List Box















List Box Exercise










A list box presents a list of items to the user to choose from with each item on its own line. The user makes a selection by clicking in the list. Once clicked, an item becomes highlighted indicating that it is the current choice. A list box can be configured to allow single or multiple selections.


One of the main reasons for using a list box is to display a list of items on specific lines to the user. Sometimes the list would be very large. If the list is longer than the available space on a form, the control would provide a scroll bar that allows the user to navigate up and down and then access all items of the list. The application developer decides how many items to display on the list.










To create a list box, you can use the List Box button from the Controls toolbox.





Testing the Program as you Progress



  • To test the result, anytime, press Ctrl + F5.


Creating the Application



  1. Start Microsoft Visual C++

  2. On the main menu, click File -> New.

  3. Decide to create a Dialog Based application called ListOfCountries with a title as
    List of Countries

  4. While designing the dialog box, place a List Box control on it. Change the identifier of the   list box to IDC_LIST_COUNTRIES

  5. Place an Edit Box on the dialog. Call it IDC_LISTDBLCLK

  6. Right-click the List Box and click ClassWizard...

  7. Click the Member Variables property sheet.

  8. Double-click IDC_LISTCOUNTRIES to Add a Variable

  9. Set the Member Variable Name to m_ListCountries

  10. In the Category combo box, select Control

    Add Member Variable
      

  11. Click OK

  12. Also Add a Variable for the IDC_LISTDBLCLK   control and named m_ListResult based on CString


Adding Items to a List Box



  • In the OnInitDialog() function of the dialog box, initialize the list box as follows:
    // TODO: Add extra initialization here
    m_ListCountries.AddString("Afghanistan");
    m_ListCountries.AddString("Costa Rica");
    m_ListCountries.AddString("Spain");
    m_ListCountries.AddString("Angola");
    m_ListCountries.AddString("Russia");
    m_ListCountries.AddString("Canada");
    m_ListCountries.AddString("Greece");
    m_ListCountries.AddString("Morocco");
    m_ListCountries.AddString("Austria");
    m_ListCountries.AddString("Jamaica");
    m_ListCountries.AddString("Australia");



Select an Item Using its Position



  • To set the 4th item in the list box as selected, under the last AddString() function in the OnInitDialog, add the following line.
    m_ListCountries.SetCurSel(3);



Transfer an Item to an Edit Box After Double-Clicking in the List



  1. Press Ctrl + W to access the ClassWizard.

  2. Click the Message Maps property sheet. In the Class Name combo box, make sure CListExoDlg is selected. In the Object IDs, click IDC_LISTCOUNTRIES

  3. In the Messages list, double-click LBN_DBLCLK. Change the name of the function to OnDblclkList and click OK.

  4. Click Edit Code and implement the function as follows

一个MFC中选取目录的函数

char * GetFolderName(LPCTSTR cDlgName)
{
char * Mycom="";
Mycom=(char *)malloc(1000);
BROWSEINFO Myfold;
Myfold.hwndOwner=NULL;
Myfold.pidlRoot=NULL;
Myfold.pszDisplayName=Mycom;
Myfold.lpszTitle="选择

文件夹";
Myfold.ulFlags=BIF_RETURNONLYFSDIRS;//|BIF_EDITBOX;
Myfold.lpfn=NULL;
Myfold.lParam=NULL;
Myfold.iImage=NULL;
Mycom[0]='\0';
SHGetPathFromIDList(SHBrowseForFolder(&Myfold),Mycom);
return(Mycom);
}

Wednesday 1 August 2007

龙应台:你是有选择的——评《窃听风暴》【转载】

 
  
  来源: 南方都市报
  
   今年得了奥斯卡最佳外语片奖的德国作品《窃听风暴》(The Lives of Others,又译《别人的生活》),在取得小金人之前便早已引起了轰动,横扫德国各大奖项,包揽2006年欧洲电影奖上的最佳影片、年度男演员和年度编剧三项大奖……热烈的关注和议论从德国本土蔓延开来。
  
  
  
  
  《窃听风暴》剧照。
  
    本报曾在2006年第四季度娱乐盘点中对该片作出重点推介。《窃听风暴》与三年前的《再见列宁》有点相似,时间背景都是东德末期,故事将前民主德国国家安全局不为人知的大规模窃听行径公布于众,同时以一丝温暖打破同类电影的俗套。
  
    奥斯卡的小金人,使得这部德语文艺片再一次受到更广泛的关注。知名专栏作家龙应台应本报之约,写下了对该片的所感所想。
  
    ——引子
    
    1 列宁听贝多芬
  
    《窃听风暴》(《别人的生活》),今年度的奥斯卡“最佳外语片”,真的很特别。一夜成名的导演,东诺士马克,是个初出茅庐的人,只有三十三岁。得奖的作品,是个啼声初试的作品,他的第一部剧情长片。而且,他不只是导演,剧本也出自他的手。从构思到完成,整整九年。
  
    九年前,东诺士马克还是个慕尼黑电影学院的学生,有一天在家中发呆,听贝多芬的《热情奏鸣曲》,突然想到列宁当年是怎么谈这个奏鸣曲的:
  
    没有比《热情奏鸣曲》更美的音乐了,惊人、超寻常的音乐!它总让我像幼稚的孩子一样由衷地觉得自豪——怎么人类可以创造出这样奇迹似的乐曲。
  
    一九四九年一月,美国的《时代》周刊报道了莫斯科纪念列宁逝世二十五周年的情景:
  
    这样一个人
  
    全共产世界(不日落国)都在纪念列宁逝世二十五周年。在莫斯科,面带笑容的斯大林和其他共党重要人物坐在莫斯科大剧院观礼……如往年一样,一整天都是歌颂列宁的演讲致词,还包括一个以列宁生平为内容的广播剧,长达一小时。广播剧以列宁最崇拜的贝多芬《热情奏鸣曲》作为压轴尾声,并配上列宁的话作为旁白: “没有比《热情奏鸣曲》更美的音乐了,惊人、超寻常的音乐!它总让我像孩子一样由衷地觉得自豪——怎么人类可以创造出这样奇迹似的乐曲。”广播剧以最甜美的声音结束:“列宁,就是这样一个人!”
  
    四十五分钟之后,美国电台也开始发音,播放美国版的列宁生平。贝多芬的《热情奏鸣曲》也响了起来,列宁热爱这个曲子的话,也被引用,但是,这一回是全文:
  
    ……让我像幼稚的孩子一样由衷地觉得自豪——怎么人类可以创造出这样奇迹似的乐曲。
  
    但是我不能常听这个乐曲,因为,它会影响我,使我有一种冲动,想去赞美那些活在污秽地狱里而仍旧能创造美的人,想去亲抚他们的头。可是这个时代,你不能去亲抚人家的头,除非你要让你的手给咬断。你得重击人家的头——毫不留情地重击——虽然说,理论上我们是反对任何形式的暴力的……我们的任务真的很难搞。
  
    东诺士马克心里已经有一个故事:一个共产东德的秘密警察如何监听一个名作家的私生活。三年的时间,他藏身在维也纳一个修道院里写剧本,但在动手写作之前,他已经花了好几个月的时间采访曾经做过秘密警察和线民的东德人。
  
    “我发现,”东诺士马克说,“秘密警察是一群把内心情感上了锁的人。他们变成只讲究原则的人,感情元素整个被排除、被封存起来。而这其实就是列宁所表现的:他害怕他的感情会坏了他对原则的追求。”
  
    有一个退休的秘密警察邀请东诺士马克到家中晚餐。很愉快地,这个人告诉他东德秘密警察如何以最高效率搜集“潜在敌对势力”的“气味样本”,只有一次失误:有一个女人,被搜集“气味”的时候,她刚好来月经。秘密警察把带血味的“样本”给狗去闻,“那狗被搞胡涂了”。
  
    讲故事的前秘密警察说着说着就大笑起来。
  
    东诺士马克坐在一旁喝茶,心中战栗不已:原来,“彻底的野蛮和文明,隔得那样近”。
    
    2 布莱希特看加利略
  
    列宁为了保持革命的纯粹性而抛弃他最爱的《热情奏鸣曲》,东诺士马克就试图用电影艺术来演绎:如果革命家真正听了《热情奏鸣曲》那样的音乐,世界会不会不一样?
  
    地点是德国民主共和国的首都柏林,时间是“一九八四”——这绝不是个未经细思的年份。欧威尔的黑色预言,正笼罩柏林。秘密警察魏斯乐,是个奉公守法、爱党爱国的忠贞公务员。他善于侦讯,用精准的心理手段摧残敌人意志,取得口供。他相信,国家的安全必须依靠像他这种忠诚共产党员的无私付出。
  
    领导交给他一个新的任务:二十四小时监听名作家德瑞曼,找出他的“污点”。
  
    德瑞曼是个典型“体制内”的作家。爱国,不反党,享有盛名,与党的最高领导都有交情。所编的剧本演出时,总是冠盖满京华的待遇。文人朋友中,有愤懑的不合作者被禁止出境,他不作声。有批判当局者被监视、被孤立、被“灭音”,他同情,但不行动。这样被党所爱,他也自信自己不在被国家监控的名单内。
  
    他不知道的是,文化部长看上了他美丽的情人,舞台剧演员克丽斯塔。部长将他置入全面监听,期待找到污点,以遂私欲。克丽斯塔,在绝对的权力下,不敢不从。她先是屈服于部长的欲求,又在威胁之下出卖德瑞曼;文人和艺术家在国家机器的巨轮之下犹如蝼蚁求生。
  
    一个前辈导演的自杀带来了德瑞曼的转变。深受德瑞曼尊敬的舞台导演,因为“不听话”而被剥夺了艺术生命,终于以死来表达抗议。向来选择不挑战当局而如鱼得水的德瑞曼,在听到消息的一刻,沉痛之余,坐在钢琴前,开始忘情地弹起热情澎湃的《好人奏鸣曲》——一首以《热情奏鸣曲》为模板的新曲。
  
    德瑞曼面临抉择:他继续独善其身,假装看不见那个充满压迫的世界,还是准备牺牲所有既得的利益,起身以行动反抗。
  
    他决定成为行动者。冒着死罪,写了一篇长文,揭露东德隐藏自杀人口统计数字的文章,透过地下管道,送到西德发表。
  
    认真监听着他的秘密警察魏斯乐,戴着耳机,当下就听见了《好人奏鸣曲》,激动不能自已,流下了眼泪。
  
    在此之前,他从德瑞曼的书房里“借”了一本小书出来,躺在床上念,那是布莱希特的诗:
  
    忆玛丽亚
  
    夏日晴空在我俩之上
  
    深深凝视那朵云
  
    那样纯白,那样高
  
    当我再度凝视
  
    它已消失
  
    眼睛如冰冷玻璃,从来不流露任何情感迹象的秘密警察魏斯乐,在深夜的孤独里,读诗。
  
    从监听,魏斯乐当然知悉德瑞曼的“叛国”计划,忠贞的秘密警察面临抉择:他应该忠于他信守了一辈子的爱国爱党那一套原则,还是他心中被“奏鸣曲”和诗意外敲醒的善恶直觉。
  
    布莱希特的名字在这里出现,也不会是未经细思的。他是东德共产党供在神桌上的社会主义伟大作家。可是他的两部盛名之作,《加利略》和《四川好人》,探讨了同一个核心问题:在面对不公不义的强权时,个人的抉择是抵抗还是妥协?在面对善与恶的拉锯时,个人的抉择是往善还是从恶?
  
    在布莱希特的剧本里,加利略面对教会的压迫,选择了不抵抗的妥协,但是用妥协所赢得的空间设法将自己相信的真理传递出去。所以他的学生认为,他的妥协其实是一种真正的英勇。《四川好人》的道德,使得她无法生存;必须依靠一定程度的“恶”,才能保护她自己,让她的善得以存活。布莱希特半生面对纳粹的国家强权,辗转流离;到了美国,又被迈卡锡反共主义逼迫着交代政治立场。个人面对不义的国家强权时,究竟要怎样做自己的道德抉择,究竟要如何找到安身立命的平衡点,一直是布莱希特作品里最重要的问题。
  
    在“一九八四”的历史时空里,作家德瑞曼和秘密警察魏斯乐所面临的,是和加利略,和布莱希特,同一个问题。
    
    3 穆荷演魏斯乐
  
    东诺士马克拿着写好的剧本四处筹钱拍片时,一路碰壁。碰壁的理由都是一样的:它不是喜剧,而且主题太严肃。
  
    柏林围墙倒塌之后的十五年间,以共产东德的生活为题材的电影不是没有,但得到市场青睐的几乎全都是喜剧片,譬如脍炙人口的《再见列宁》,对于消失了的东德社会主义岁月用一种落日余温的温情、不伤筋骨的调侃,加上一点淡淡的怀旧情绪,组成了面对过去的主调。《窃听风暴》在德国引起骚动,除了电影本身的艺术品质之外,一个很关键的原因是,这大概是两德统一十六年来第一部不加糖加奶的,认真刻画东德秘密警察恐怖统治的影片。
  
    围墙在一九六一年树立起来,到一九八九年倒塌的二十八年光阴里,秘密警察最大宗的业务就是防范人民逃亡。七万五千人因为企图逃亡而被监禁,八百零九人因为逃亡而丧生。大约七千五百名边境警察“监守自逃”,三分之一成功逃走,不成功的三分之二被关进监牢。东德总共雇用了九万名正式秘密警察和十七万五千名秘密线民去管控一千七百万人民——相对之下,希特勒只用了三万名秘密警察监控整个德国。十七万五千名线民,包括妻子监视丈夫,学生监视教授,儿女监视父母,情人相互监视。饰演魏斯乐入木三分的名演员穆荷自己,在两德统一后去察看自己的“忠诚资料”,发现有长达六年的时间,每天向秘密警察报告他的言行举止的,正是他自己的妻子。
  
    所以东德人并不那么愿意去翻开自己的资料。在秘密警察的档案里,是的,有太多的“真相”,但是知道“真相”,究竟会带来幸福还是更深的痛苦?大多的电影对东德阴暗的历史轻轻带过,是不是因为,人们并没有那么大的力量能承受痛苦?或者说,人们也没有那么大的力量去承受罪责?
  
    曾经担任过秘密警察的东德人也组织起来了,添了白发的他们说,他们当初也不过是尽他们的“首土有责”,做的是一份荣誉的工作,并没有罪责可言。可是那因他们的“荣誉”工作而家破人亡的其他的人们,仍被记忆折磨。政治学上所谓“转型正义”——在改朝换代、价值翻转之后回头来清理是非、分辨善恶、追究奖惩和责任,是二十一世纪的人类仍旧在困惑摸索的巨大课题。
  
    东诺士马克每天接到很多很多的来信,“有时候,”他说,“我不敢打开,因为,里面有太多痛苦。很多人想来跟我诉说,我只好说,我不是神父,没法帮你告解。但是通过我的电影,人们似乎认识到一件事:你,是有选择的。”
  
    他指的是秘密警察魏斯乐。为了不忍见德瑞曼以叛国坐牢,为了忠实于他在听《好人奏鸣曲》和读布莱希特的诗时的感动,他选择放弃仕途,付出代价:被降职到地下室去做拆信员。统一变天之后,他也翻不了身,仍旧在最卑微的底层艰辛求存,做一个递送免费广告的送报员。
  
    而在“一九八四”的朝代里呼风唤雨的那个文化部长,统一之后,摇身一变,又是一个新时代的大人物。东诺士马克的电影用了很多当初东德的机关大楼实地拍摄,但是监狱博物馆的馆长却拒绝了他拍摄的请求。原因?馆长说,因为东诺士马克的剧本不符合史实:整个东德历史,像魏斯乐那样“良心发现”的秘密警察,对不起,一个都没有。

VC++中,找不到ActiveMovie Control Object控件的解决办法

MFC中,找不到ActiveMovie Control Object控件


打开"开始",运行 regsvr32 msdxm.ocx


此方法最为简单
S6s&o(X n w y I.R"w F0