2006桃月靓乐

今天购物回来,在班车上听到游鸿明的新歌’诗人的眼泪’,提醒我该是推荐歌曲的时候了。’阳春三月桃花开’,虽然三月是桃花盛开的季节,但是在北方却还见不到桃花吐蕊的半点儿痕迹。不过这个季节歌坛却是’万物复苏’,多位重量级歌手都推出了自己的新歌,这里照常例说说我喜欢的几首歌曲。

不知不觉自己已经写了三期’靓乐’了,从狂放的汪峰的’怒放的生命’开始了我的第一期,到阿桑的’一直很安静’主宰第二期,直至Westlife的’You Raise Me Up’和狼二的’双鱼与狮子的爱情日记’在第三期中平分秋色,我不敢说这几篇文章给别人带来了什么有用的信息,但是它们绝对让我记住了自己对音乐欣赏的足迹,仅仅是这样,我已满足已!^_^

Ok,言归正传!本期首先和大家一起认识一个我’刚认识’的’新歌手’(起码我第一次听他的歌,我暂把他归为新歌手的行列^_^)。他就是钟立风,让我认识他的是他的拿手新歌 – ‘在路旁’。不知道大家是否有这样的经历或感受!也就是在你偶尔听到某首歌中几句歌词便要向周围的人打听这是谁唱的,歌名是什么的时候,你的感觉告诉你这是一首好歌,你一定会喜欢,这首歌一定会红遍大江南北。就这么简单,不是吗!’在路旁’这首歌就是这样的:

在路旁孩子们在打雪仗
在路旁姑娘们在等情郎
在路旁老人们在晒太阳

在路旁一朵鲜花正在开放
在路旁鸟儿展开它的翅膀
在路旁欢乐的号角已吹响

听完这几句,相信你已经陶醉在那’和谐自然’的情景之中了,虽然不能完全感受到作者创作时的那种情感,但是每个人听到这首歌时的感觉都不同这不也很好么,对于生活在城市回色调冰冷的水泥建筑之中的人们来说,这一曲’在路旁’让人感受到一道和谐阳光射进他们的胸膛,这也是我的感觉^_^。

上面提到了’游鸿明’,提到了他的新专辑’诗人的眼泪’,这是情歌王子游鸿明在沉寂许久后的又一张原创精选力作,主题依旧’爱情’,而且是’悲伤之情’。游鸿明是我最喜欢的才子型男歌手之一,其歌深邃而又总让人’怆然而涕下’,与其说他是情歌王子,倒不如说其是’悲情王子’。其每张专辑一出炉便会急剧受到广大Fans的喜爱和追捧,不是因为游本人长得帅,是其歌实在太让人震撼或者感动,而游鸿明个人的演绎技艺也是炉火纯青了。就拿张新专辑’诗人的眼泪’来说,3月17日在台湾一发行便疾速窜至台湾流行榜前列,其同名主打歌’诗人的眼泪’和另一力作’白色恋人’均成为各大流行榜单的入榜歌曲,并在各个时段反复播放。大陆的Music Radio也同样没有放过这两首好歌,也及时向音乐Fans们传达了游鸿鸣的’诗人’气质!

近期推出个人新专辑的老牌歌手还包括大家耳熟能详的’光良’,’光良’凭借其独特的嗓音吸引着一代又一代音乐Fans,这不其新专辑’约定’,再次刮起了’光良旋风’,其中主打曲’约定’和’都是你’在’百度歌曲TOP500‘上迅速占领领先位置,这也反映大家对该专辑的热情是那是相当的高涨的!^_^。不过有人说这两首歌有’抄袭’其先前曲’童话’之嫌,这也不免给这张专辑带来了一些小小的负面影响。

其实在这一阶段还有不少好歌推出,这里列出一些正在我的Mp3播放列表中的歌曲,它们是Westlife新出炉单曲’Amazing’、林俊杰新专辑’曹操’之主打曲’曹操’和’原来’、周笔畅的’天鹅’,其实超女的歌本不想列出来,不过周笔畅之前的那首’笔记’确实演绎的不错,这里就顺提一笔吧。

好了,歌曲介绍完了,建议大家自己去亲自听听这些歌吧,前提:支持正版,理性的消费者都不应该忘记这点^_^。

追求'lint-clean'

到底需不需要编译器之外的独立的静态代码检查工具呢?这个问题’仁者见仁,智者见智’。但是有一个结论我想大家都会认可,那就是越是在开发周期早期发现的Bug,修复它所付出的代价就越小。而像lint这样的静态代码检查程序恰恰是让Bug在早期阶段’显露原型’的绝佳工具,而追求’lint-clean’[注1]境界的代码也向来是专家级程序员的嗜好。别忘了在’C专家编程’一书中曾经提到Sun OS的内核一直是保持’lint-clean’状态的,这就是榜样!还等什么?赶快学呀!^_^

有人抱怨’不敢用lint工具, 太多的Warnings把快屏幕都淹没了!’,不过高手一般不这么想,他会细心琢磨这些Warnings背后的’暗示’,并和lint工具沟通,利用lint工具提供的交互方法屏蔽掉一些经过分析认为不能成为错误的Warnings。久而久之,高手本身就成了一个lint程序,就能够很快的用肉眼发现代码中的问题,并指出问题所在,如何解决!他还能告知如何嵌入一些Annotations从而避免让lint程序产生不必要的Warnings,这时这位高手对语言和程序的理解就又提高了一个档次了。其实使用ling工具不仅仅是为了提早发现程序中的Bug,其使用过程有助于你加深对程序的认识和理解。的确事实就是这样。

Splint就是一款强大而且应用广泛的开源lint工具。它的强大的代码检查能力固然让人称道,但是让我更欣赏的却是它提供的’Annotations’机制。Splint可以让程序员在自己的代码中嵌入相应的Anotations,这些Anotations作为Splint分析代码时的输入以帮助Splint产生对程序员更有用的信息。下面是一些Splint的使用入门,更多详细信息请查看’Splint manual‘。

1、最简单的Splint使用方法
>> splint *.c

2、Splint输出Warnings的基本格式
<file>:<line>[,<column>]: message
     [hint]
      <file>:<line>,<column>: extra location information, if appropriate
我们可以使用’+/-<flags>’来自定义其输出格式,如’splint -showcol *c’,则Splint不会在输出信息中显示’列’信息。

3、使用flags控制splint的检查范围和输出格式
‘+<flag>’ — 表明某个flag处于打开状态,如’+unixlib’;
‘-<flag>’ — 表明某个flag处于关闭状态,如’-weak’;

4、使用.splintrc环境文件
如果不想每次使用splint的时候都手工输入一堆’+/-<flags>’,那么你可以把这些’+/-<flags>’预先写到.splintrc文件中,当splint执行的时候它会自动加上这些flags的。默认的flags设置在’~/splintrc’文件中,但是如果一旦splint的当前工作路径下也有.splintrc文件,那么这个.splintrc文件中的flag设置会覆盖’~/splintrc’中的flags设置,但是命令行中的flags设置是具备最高优先级的,它会覆盖前面提到的任何一个文件中的flags设置。

5、使用Annotations
对于’Annotations’的作用,Java程序员并不陌生,但是C程序员则对这个不是那么了解。C代码中的Annotations用来指导Splint生成恰当的代码检查报告。下面这个例子对比使用和不使用Annotations,Splint的输出的差别:
/* testlint.c */
void foo1() {
        /*@unused@*/int *p = NULL;
}

void foo2() {
        int *p = NULL;
}

splint testlint.c
Splint 3.1.1 — 28 Apr 2003

testlint.c: (in function foo2)
testlint.c:6:7: Variable p declared but not used
  A variable is declared but never used. Use /*@unused@*/ in front of
  declaration to suppress message. (Use -varuse to inhibit warning)

Finished checking — 1 code warning

可以看出没使用Annotation的函数foo2被给出Warning了。Splint的Annotations繁多,我们在平时做lint时可以多多接触。

‘早用lint,勤用lint’,这是C专家给我们的建议。’lint-clean’也许离你并不遥远。

[注1]
‘lint-clean’ — 程序能够顺利通过lint程序的检查。

如发现本站页面被黑,比如:挂载广告、挖矿等恶意代码,请朋友们及时联系我。十分感谢! Go语言第一课 Go语言精进之路1 Go语言精进之路2 Go语言编程指南
商务合作请联系bigwhite.cn AT aliyun.com

欢迎使用邮件订阅我的博客

输入邮箱订阅本站,只要有新文章发布,就会第一时间发送邮件通知你哦!

这里是 Tony Bai的个人Blog,欢迎访问、订阅和留言! 订阅Feed请点击上面图片

如果您觉得这里的文章对您有帮助,请扫描上方二维码进行捐赠 ,加油后的Tony Bai将会为您呈现更多精彩的文章,谢谢!

如果您希望通过微信捐赠,请用微信客户端扫描下方赞赏码:

如果您希望通过比特币或以太币捐赠,可以扫描下方二维码:

比特币:

以太币:

如果您喜欢通过微信浏览本站内容,可以扫描下方二维码,订阅本站官方微信订阅号“iamtonybai”;点击二维码,可直达本人官方微博主页^_^:
本站Powered by Digital Ocean VPS。
选择Digital Ocean VPS主机,即可获得10美元现金充值,可 免费使用两个月哟! 著名主机提供商Linode 10$优惠码:linode10,在 这里注册即可免费获 得。阿里云推荐码: 1WFZ0V立享9折!


View Tony Bai's profile on LinkedIn
DigitalOcean Referral Badge

文章

评论

  • 正在加载...

分类

标签

归档



View My Stats