Web Analytics

关于宏定义切换以及屏蔽的例子

assert是大家常用的宏,它的用法相信大家都有所了解。P.J Plauger的"The C Standard Library"一书中提到在源代码中切换assert宏定义的方法: /* turn assertion on */ #undef NDEBUG #include ...

May 17, 2008 · 2 min · Tony Bai

也谈C语言标识符的NAMESPACE

P.J Plauger的"The Standard C Library"一书的Chapter0的章后练习中有这样的一道题:编写一个包含如下一行语句的正确的程序: x: ((struct x*)x)->x=x(5); 并描述这行语句中x的5种截然不同的use,这里其实涉及到这么一个知识或者说概念:C语言的命名空间(namespace),在"C语言参考手册"中还被称作: overloading class。 ...

May 15, 2008 · 3 min · Tony Bai

关注四川汶川地震,为灾区人民祈祷

时间定格在公元2008年5月12日,那天是星期一,工薪族们正努力的从周末休假状态转换到工作状态;操场上正在嬉戏打闹的低年级的小学生听到铃声陆续进入教室准备上课;初三、高三的莘莘学子们正伏案刻苦的读书,准备迎接即将来临的中考和高考;幼儿园里孩儿童们依旧在老师的看护下午睡着;盘山公路上、景区的缆车上,兴致勃勃的游客们正在欣赏着大自然的美丽景色。就当人们沉浸在这美好、恬静生活的时候,地球的内部,更精确的说是处于北纬31度,东经103.4度位置的美丽的四川汶川地区下面的地球板块迫于其他板块的压迫发生了运动,地震发生了。 ...

May 14, 2008 · 3 min · Tony Bai

一分之差

说来真是遗憾,这不上周五参加了驾驶员考试的理论测试,十分"点背"的是我居然以一分之差没有通过。 今天驾校的一位中年男老师打来电话,问我是否参加十天之内安排的补考?令我惊奇的是他还对我鼓励了一番:“我相信你一定能过”,我也应承着:有你这句话我一定过。虽说教练这句话可能不完全是为我着想,但心里还是莫名的感受到一丝激励。毕竟是为了自己学么。 ...

May 12, 2008 · 2 min · Tony Bai

也谈C语言变长参数

很多技术人员都有在"技术细节"上"钻牛角尖"的"癖好",对此很多人褒贬不一;无论怎样,我也是属于这类人。C语言的变长参数在平时做开发时很少会在自己设计的接口中用到,但我们最常用的接口printf就是使用的变长参数接口,在感受到printf强大的魅力的同时,是否想挖据一下到底printf是如何实现的呢?这里我们一起来挖掘一下C语言变长参数的奥秘。 ...

May 7, 2008 · 7 min · Tony Bai

也谈typedef

C语言语法简单,但内涵却博大精深;如果在学习时只是止步于表面,那么往往后期会遇到很多困难。typedef是C语言中一个很好用的工具,大量存在于已有代码中,特别值得一提的是:C++标准库实现中更是对typedef有着大量的使用。但很多初学者对其的理解仅局限于:typedef用来定义一个已有类型的”别名(alias)”。正是因为有了这样的理解,才有了后来初学者在typedef int myint和typedef myint int之间的犹豫不决。很多国内大学的C语言课之授课老师也都是如是说的,或者老师讲的不够透彻,导致学生们都是如是理解的。我这里想结合C语言标准文档以及一些代码实例,也说说typedef。 ...

May 2, 2008 · 6 min · Tony Bai

由一把座椅想到的

今天上午参加了一个公司内部的项目管理工具推广和使用的培训,培训地点在公司新落成不到一载的办公楼的一间视频会议室里,由于是新办公楼,所以这里的设施也都是很新的。特别是会议室里的座椅让人坐起来很是舒服,会议室的椭圆桌摸起来也很有质感,当时就和同事们讨论如果我们的办公环境要是能有这样的座椅和桌子那该多好啊,工作效率肯定能提高不少。目前我们的座椅估计就属于写字楼中最常见的那种,坐起来普遍反映不舒服。 ...

April 30, 2008 · 3 min · Tony Bai

事业单位考试:小心'专业不对口'

大约有两周没有更新博客了,记忆中这么长时间不更新博客的也没有几次。最近烦心的事情很多,项目压力大,家里这边装修烦心的事情就更多了,劳体劳心啊。但这里想说的既不是项目也不是装修,而是另一间令人很是气愤和鄙视的事情-一件关于政府事业单位公开招聘人员的事情。 ...

April 28, 2008 · 5 min · Tony Bai

C单元测试之Mock Test篇

曾经在多篇blog中报怨过:用C语言写业务逻辑实在是让人身心忐忑不安,再加之C语言自有的"特点",让其与"单元测试"始终若即若离,曾经尝试过写了一个轻量级C Unit Testing lib,至少目前我依旧在用,但多用在编写独立算法以及底层库的场合。业务层少有使用。业务层多是遗留系统,当初前辈们设计时对可测性考虑不够周全,导致现在无法很好的将各个部分独立抽出进行测试,虽然我们也在做着类似"重构"的工作,但鉴于规模较大,不能一蹴而就,我们需要一步一步找出使用C应对各种单元测试情况的方法。这里说说Mock Test。 ...

April 12, 2008 · 4 min · Tony Bai

Mingle初体验

本周一已经投奔ThoughtWorks的Dreamhead因公事回到沈阳,来到我们公司看望以前的同事。他谈到业界的一种说法:ThoughtWorks在"怎么做"上达到了很高的高度,但是在"做什么"上与Google这样的公司相比还有差距。既然ThoughtWorks在"怎么做"方面树立了榜样,那么这个公司推出的产品估计在"怎么做"上对其他公司也会有所指导^_^。Mingle就应该是其中之一。 公司走的是CMMI的体系文件,即所谓的"重过程"管理,这样的过程对项目负责人的要求甚是严格,常常发生与QA之间的"你来我往",甚至为一个无关轻重的文档"严词讨论"一番;再加上部门在过程工具上的选择比较"保守",自己感觉部门的管理成本还是很高的,有些时候甚至感觉有些浪费。普通编程人员对各种文档也是有着"抵触"情绪的,特别是在"补"一些"写完即过时"的文档时更是无奈。 ...

April 9, 2008 · 5 min · Tony Bai