走着

明儿就回学校去了,写这篇文章的时候,我的假期余额不足1天。

打包,这次回去,不再带着大大的屏幕,转而带着一对考研的书籍,试题,资料,以及塞满了各种考研资料的 Kindle 。之后的生活要慢慢精简起来,学校的桌子也要整理成适合书写,适合阅读的状态,不能再是一副混乱的程序员的感觉,堆满了各种线,堆满了各种电子设备。

人么,都是需要有个力量在身后推动推动的,尤其是我这种懒的掉渣的人,最近算是找到了一些比较给力的“燃料”,让自己燃烧,让自己前进,不过么,总是有那么一点点的忐忑在身上时不时的浮现下。我似乎总是喜好多虑,喜好多思,就如同深度优先遍历一般,层层递归下去,傻乎乎的直到溢出。

好吧,突然写着写着伤感起来了,这可不是什么好兆头,自己还是要对自己给力点的,该做好的都要做好,自己不坚强就没人会尊敬你,就是那么简单的一个道理。我们都是在一篇森林里面活着的动物,弱肉强食总是无法避免,那么就让自己强大起来吧。

今天看到一则消息,苹果公司的灵魂人物乔布斯似乎身体素质严重下降,甚至可能不足六周寿命了。突然觉得这是多么可怕的一个事情,当你活着的时候,被告知:“您的生命不足六周”这是多么无奈的一个事情。但是不管消息真假,乔布斯的身体是一年不如一年了,虽然他不认识我,我也没见过他真人,而且对于苹果的产品,除了电脑其他的我也没什么有爱的。但是,乔布斯还是一个值得尊重的人,无论他的功过,他都是一个无背景无家产低学历的创业成功范例。不似比尔盖茨那么富二代,也不如巴菲特那样的家庭背景。至少,他的经历对我们这些“贫二代”,“贱二代”或多或少有那么一些鼓励和帮助。的确,他的存在,告诉我们,世界不仅仅是富二代官二代的,只要努力,只要有信念,也会能够绽放出生命的辉煌,不是么?

没到开学初,我总是有那么一些压抑。似乎是从高中开始的,每个新学期总不是完全的“新”,总有那么一些事情是过去遗留下来,要继续处理的,我总是很偏执的不喜欢这种感觉,啊,也许是我还没适应这个世界吧~罢了罢了,慢慢去解决呗,闷了吼两声,然后继续埋头处理,这恐怕是我唯一能做到的了:)

好久没认真看过文学作品了,想想,假期最多就看了一些奇奇怪怪的书,然后写了个还算不错的 Android 小程序,慢慢完善到也是个不错的事情,下学期有个 Android 开发的课,估计上课内容比较简单,那就趁着上课无聊可以想想怎么实现我的下一个程序好了。吐槽一个,绍兴这边 defy 一直没货,各种无奈,我是很爱三防机器的啊喵~

刚刚下了 Daniel Powter 虽然是张老碟了,而且歌也是各种熟悉,不过 MV 倒是让我耳目一新,还是不错的,风格我蛮喜欢。城市钢琴师,果然算是名不虚传。

好吧,刚刚突然又发现自己电脑出现 Spaces Frozen 的问题了。。。囧,这个 bug 苹果你要神马时候才修复啊。。。罢了罢了~

希望一切都好,新学期,我来了!

关于一些C语言编程的一些个人想法

首先么,这是个人风格,完全不是权威之说。
第二,记录下来只是感觉自己这样蛮舒服,分享而已。
第三,别拿某为谭姓叫兽的文章来说事情,不解释。
第四,这里的 C 语言不是狭义的指 C 这门语言,也包括 C++,object-c,甚至 Java 等类似与 C语法的语言
────────────────────────────────
好了,下面进入正文。比较琐碎,所以就想到什么讲什么了。
先说说一个判断 0 的问题吧,或者称为判断空值。一般空值常规的来思考分那么几种,NULL,0,0.0 以及 false(可能还有别的,但是常规就这些了,所以就讲这些)。那么这些分别有什么区别呢?
首先说说,写判 0 的风格是为了什么,因为 C 语言可以直接用这么一句话来表示几乎所有的空值
if(!a){}
那么,我要把判 0 的语句分开写,就是为了区别变量的类型,方便阅读代码
倒过来讲,先解释 false 的变量,一般这个变量都是布尔型的变量,那么这个变量就两个值,真或者假。所以我一般选择上面那种
if(!a){}
的方式来表示这个变量为假的时候执行什么。理由吧,个人偏好,也有一点认为,!作为一个逻辑运算符,而布尔是逻辑变量,所以凑在一起刚刚好。
然后是 0.0,这一般指 float 或者 double 的变量,这种变量的一个特点就是不精确。如果你直接用
if(a==0.0){}
之类的方法来表述,可能会出现不可意料的问题。所以这里我也选择一种比较流行的处理方法,就是让一个实型变量和一个极小的误差值 EPS 做比较。比如如下代码:
```

define EPS 1e-9

if(fabs(a-0.0)


就是这种方式,对于一个实型变量,最好把相等的比较转化成为大于小于的比较,原因么,不赘述了,学过组成原理就知道了。

整数变量不多说,最常规的方法



if(a0)


{}



然后是指针一类的,空值为 NULL 的,大家都知道 NULL 就是 0,但是书写的时候,还是最好把 NULL 写上了,这样可读性大大的增加。例:



if(a
NULL)


{}



判断0的问题大约就想到那么一些,然后说说几个小点。

第一个是一个规范问题,一般很多人都喜欢把函数声明和实现都放在一起。特别是类的成员函数,别的函数也一样。其实这个习惯不是很好,C语言也好,C++ 也好,都分为 .h 和 .c(.cpp) 两种文件,一般 .h 文件里面放声明,.c 文件里面放实现,包括成员函数。这个主要是方便别的利用你代码的人方便,不需要繁杂的翻看你的整个实现,只要看 .h 文件就可以对你的函数如何使用一目了然。

第二个是一个小细节,就是 void 参数的使用,这里说的不是



void main()




个人是很反对这种写法的,因为 main() 函数作为系统直接调用的函数,你如果不返回一个值给系统,系统怎么知道你的程序是正常还是不正常的结束的?个人感觉,我很反感用 void 来声明 main() 函数。

那么,这里的 void 指什么呢?就是指没有参数表的函数,希望在函数的参数表里面填写一个 void 原因吧,难说,这样写的确我说不上特别的好处,但是感觉会舒服很多,可能就是一个个人偏好吧。,原因是,加了void后,这个函数就被限制成为不能传入任何参数的函数了,如果你强行传入参数,编译会失败。如果不加在 C语言会认为这个函数可以传入任何参数的函数,区别还是很大的。(感谢蔡大牛提醒)。



int GetOne(void)


{

return 1;

}



第三点 就是解释一下 char* strcpy(char,char); 这个函数的返回值,然后抛砖引玉的来说说返回值的重要性。这里也许有些朋友会费解,明明 strcpy 的返回值已经给了第一个参数了,为什么还要最后 return 回来?这个不是“脱了裤子放屁──多此一举”么。其实不然,我们看如下代码就明白为什么了。



int length =strlen (strcpy(str,"zerob13"));




这个返回值就是为了这样的灵活性而考虑设计的,所以设计一个好的返回值对于一个好的函数也是非常重要的。

第四点,也是介绍一个神气的东西,叫做空循环。也许很多人学了c语言后一直不理解,为什么还要有个 do-while 循环,感觉有 while 不是已经够了么,这个东西似乎有点多此一举,其实不然。大家都知道,C语言是为了系统而出现的语言,这个 do-while 也自然和这个挂钩了。比如,你总是能够在 linux 的内核里面看到类似如下的宏。



define DUMP_WRITE(addr,nr) do{memcpy(bufp,addr,nr);bufp+=nr;}while(0)



总所周知,do-while 是先执行后判断循环,这里的while(0)也就是这个代码等价于:



define DUMP_WRITE(addr,nr) memcpy(bufp,addr,nr);bufp+=nr;



那么,我们为什么要套上这么一个 do-while 空循环呢?显然不行,一个小例子就可以说明,比如这个



if(OK)


DUMP_WRITE(addr,nr);

else


break;



如果,没有空循环,代码会变成这样子。



if(OK)


memcpy(bufp,addr,nr);

bufp+=nr;;

else


break;



然后,就悲剧了。但是,当你加上了 do-while 空循环的时候,整个循环被当作单独的一句语句,这样就可以达到正确的效果,如下:



if(OK)


do{


memcpy(bufp,addr,nr);

bufp+=nr;

}while(0);

else


break;

```

不想说话,只想阅读

先流水账一下今天的生活吧。
早上么上马哲。有了下面三段对白,也算有趣,就略略一记录:
对话一:

老师问:“你们有没有偶像。”<br></br>
于是,我站起来说:“老师,从小学到现在,我一直崇拜刘胡兰。”<br></br>
现场爆笑的一塌糊涂。我顿了顿,然后环顾四周继续说:“不要笑,我只是觉得一个人能够遭受那么强力的蹂躏却还有坚持的东西很厉害。我觉得现在已经不存在那么强大精神的人了,至少我做不到。”<br></br>
老师笑曰:“那你在那个时代肯定会成为叛徒。”<br></br>
我回答:“我不会成为叛徒,我自会成为顺民罢了。”```

**对话二:**  

老师又问:“大家觉得社会发展动力是什么。”

没人鸟他。

于是么,我举手说:“我觉得吧,动力就是欲望。”

现场又开始笑。

我再次顿了顿,解释到:“以前的人都是次生的,一次意外发现熟的比较好吃,于是就研究怎么才能熟,于是就有了烹饪,这是对食物和健康的追求欲望。以前的人都是裸奔的,后来感觉冷了穿衣服,那么衣服就是应该保暖就好,可是现在很多牌子的衣服就是一抹布造型也能卖个万把块的,这就是品牌和美观追求,着是一种对美以及虚荣的欲望。类似的还有很多很多,基本上就是人们的欲望推动着发展,想要获取,才去发掘,所以是欲望推动”

老师顿了一会,问:“你叫什么名字。”

我回答:“杨凌枫。”

“玉树临风的临风?”

我摇了摇头说:“不是,应该是凌云壮志的凌,停车坐爱那个枫林晚的枫。”

现场再次笑。。。```

对话三:
<br></br>
这个对话发生在我们班某个组讲述的ppt之后,因为ppt主题是《网络让我欢喜让我忧》,然后那组比较打酱油,就是简单的介绍了几个网络流行应用后又提了下gfw就结束了。貌似就3分钟的样子。<br></br> 很无奈,老师表示说对方没有讲出忧愁和欢喜,主题不符合。<br></br> 然后,我脑子似乎被门挤压了说:“其实对方讲述出来了,这组同学在开篇介绍了几个网络应用都是非常好用的,但是其中大半的应用,比如facebook,twitter,youtube,blogger等都是在我们生活中是不存在的,这些让我门很欢喜的应用为后面gfw带来的忧愁埋下了伏笔,可谓是前后照应,应该都是表述出来了的。”<br></br> 于是老师大囧。表示对我各种无奈。<br></br>

──────────────────────────────────────────────
好吧,打酱油的内容到此结束。
下午收到了kindle3,效果非常好,不上图,因为贴膜和皮套还没送到,等到都到了我再拍一组图发出来。
kindle3看书很不错,看文档也很棒,我把最近要看的东西都放进去了,今天晚上就解决了一篇。
明后天再研究研究代码,把demo写出来,噢,貌似顺便还要写个操作系统课程设计以及图形学的东西。无所谓了,这种都是很简单的玩意,但是真的自己要写的东西到都是超出自己能控制范围的。不过没事,反正我那么久了一直是挑战自己极限的活着的,拉伸拉伸又如何?I don‘t care.
最近似乎失去拍人的能力了,以及构图也是一团糟,感觉对于摄影有种瞬间失忆的味道。没事,抽空从新看看,大不了就reset myself,然后从零开始么。失败什么的早就习惯了,再爬起来继续跌跌撞撞走就好。
明天一白天的课,比较麻烦,慢慢折腾就好。
好久没有那么大的欲望写这些琐碎的话语了,没有倾诉的欲望,因为不想打扰谁,也不想谁莫名其妙跟我一块压抑,It’s my business.与其他人无关。我活着么,就让我这么活着好了,疯疯癫癫的胡言乱语的奇奇怪怪的愤世嫉俗的莫名其妙的三教九流的俗不可耐的呆头呆脑的活着呗。看不顺眼就别看,看顺眼了也和我没什么关系。
我有时候想阿,要是我就是一单片机多好,随便格式化,随便重刷,随便reset,多开心。今天过得不顺卡了,刷了换个代码跑。明天感觉功能不行了,刷了加点功能就好~~~~
话说,我挺喜欢kindle的,电子墨水效果很棒,看久了眼睛也不是很累,和看书基本一样,虽然刷新比较慢,残墨的痕迹偶尔也有,不过我还是很满意的。而且么,我感觉我和e-ink也很相似,总是不由自主被过去留下烙印,然后需要一次次的刷新才能刷掉,也许某一天又不知道为什么的出现。
恩,有空把和Ray的聊天记录整理一下,关于kindle和ipad的,然后写点东西吧。
然后么,晚上莫名其妙被采访了,校报的,貌似在做一个关于学校的社团的人的故事的报道什么的。然后摄影社就找我了。于是么,我大力发挥我的胡天胡地的吹牛能力,大吹特吹一番,貌似效果也不错。也就那样了。吹牛吹的蛮过瘾的,哈哈哈。
────────────────────────────────────────────────────────────────
接着么,突然分割了一下,不知道为什么。我有idea,不过没法实现的太多。前几天和室长聊天,说到我们的现状。我的评价很极端,但是我感觉很真实:”我们的工科学生就是笨手笨脚的工程师,没有创造力,没有艺术能力,没有任何值得称赞的思想。不是本身的问题,而是环境磨练所致。所以中国可以有腾讯,但是绝对不会有苹果,更不用说facebook什么的了。“,其实就算是学艺术的,有创造力的又有多少。前几天看了美国大学生摄影比赛的片。完全就是不同的级别,我感受到的是我们完全没有的张力,不管是国内的大摄影师也好,还是国内的业余高手也好。技术上,国内优秀的,甚至神乎其技的真的许多许多,但是思想上,作品张力上,表现力上,和老外的大师,差据真的不是一点点。当然这只是我这个菜鸟的一家浅陋的观点,觉得不对就不对吧,无所谓~
就算是设计师,国内的设计也总是有个套路,不按照套路来的设计师大部分都没什么钱没什么名气;似乎我们的心态已经是懒得自己去原创什么了,所谓的原创在我们的环境中似乎就是二次高级再创作罢了。我知道推到重来是一个很困难的事情,但是不代表很困难就不能做阿。也许社会上的人们需要养家糊口有生活压力,但是大学生呢。大学生是干什么,就是随便犯错,随便实验,随便折腾都没关系。有想法就试试阿,有创意就做做阿,为什么都要一板一眼的去做别人做过的,拾人牙慧呢?
恩,我愤青了。所以上面的段落不喜欢的同学就忽略好了。我没想过自己多正经,本来就那么一个人,恩。
──────────────────────────────────────────────────────────
这是最后的分割线。
我感觉到压力了,实实在在的压力,前面路很远,很黑,很孤独,所以我有恐惧,有害怕,有踟躇。但是总要走下去的,这个世界上没有人可以真正了解你,真正陪伴你,只有你自己的努力,依靠自己的力量你才能真的摆脱困境。所以,我睡去了。
晚安世界。

安排!效率!!!

nnd,整天被耍,下午本来考物理实验,突然停电了不考。。。
乱了乱了。
多看书,多看题目,抽空找点老试卷

Back to busy Life

今天算是去嵌入式的实验室报道了,也接触了一点点基础,之后就又要回到忙碌的生活了。
很多生活的模块同时也又会被覆盖掉吧。。。
忙碌了,又要忽略自己的某些感受了,否则就难以前进了,是么?
OK, I’ll…

终于打算写点东西了

很久没更新日志了呢。。。突然想写写。
于是我就上来写了。
貌似每次我写不出东西的时候就会和电脑开始对话。。。对话往往很无奈,比如:
我:“阿~macbook pro兄,我有点不爽阿。。。最近都没什么干劲呢。。。”
pro:“……”
我:“期中过了,是不是要发奋了呢?有点感觉落后太多了呢。。。”
pro:“……”
我:“有时候是不是要积极一点,努力的前进阿。。。貌似我有点太消极了阿!”
pro:“……”
我:“……”
pro:“……”
我:“……”
pro:“……”
我:“……”
pro:“……”
…………………………………………………………
就是这样。。。我的电脑总是倾听,除了微微的硬盘旋转的声音外,他一直很安静。没有怨言,也没有建议。
有时候,我觉得,能做一个好的倾听者真不容易阿。。。
好吧,我承认我脑残了。。。
结束。。。看书去了。。。