2011小结
2011年眼看就要接近尾声了,这里也对自己在2011年的"所作所为"做个小结^\_^。 这一年来工作之外的我过得还是比较充实的,从下面的数字也可以看出: \- 写了81篇博文 \- 开源了2个工具(CBehave和buildc) \- 合译了一本书("Seven Languages in Seven Weeks",不过尚未出版) \- 读了近50本书(通过豆瓣读书统计) \- 新学了一门语言 – ...
2011年眼看就要接近尾声了,这里也对自己在2011年的"所作所为"做个小结^\_^。 这一年来工作之外的我过得还是比较充实的,从下面的数字也可以看出: \- 写了81篇博文 \- 开源了2个工具(CBehave和buildc) \- 合译了一本书("Seven Languages in Seven Weeks",不过尚未出版) \- 读了近50本书(通过豆瓣读书统计) \- 新学了一门语言 – ...
这几年我一直从事C语言项目的开发。这些项目的规模都不算小,少则十几万代码,多则几十万行代码,至少也都算得上是中型项目吧。项目构建工具使用的是传统的Make工具,构建脚本都是自行编写的,构建时直接在顶层目录下敲入make即可。 这种传统的构建方式其实是很耗时费力的。比如执行make之前你需要根据项目代码的实际路径重新设定一些环境变量或修改Makefile中的某些标识路径的变量;你还要将项目依赖的各种...
我们在平时编码过程中很少考虑代码的安全性(security),与正确性、高性能和可移植性相比,安全性似乎总被忽略。昨天从安全性角度泛泛地Review了一下现有的代码,发现了不少具有安全隐患的地方。我们的程序员的确缺乏系统地有关安全编码方面的训练和实践,包括我在内,在安全编码方面也都是初级选手,脑子中对安全性编码缺乏系统的理解。 市面上讲解编码安全性方面的书籍也不是很多,在C编码安全性方面,CERT...
我不是知识管理领域的专家,但我认为知识的积累和管理对一个期望长久稳定发展的组织来说很重要。今天我这个"门外人"就来说几句"门外话"。 我所在的部门已经成立10余年了,但说实话部门在知识积累和管理方面做的比较一般。例如,没有统一的知识积累和管理平台,知识分享多靠mail列表,或将知识存储在文件中放入Microsoft Visual SourceSafe,若干日子后,再无人能找到之前的知识(VSS绝对...
restrict关键字是C99标准中新引入的一个类型修饰符(type qualifier)。如果你看过GNU C库的源码或是其manual,你就会发现restrict修饰符被广泛地应用在GNU C库中。restrict关键字到底是用来做什么的呢?估计很多对C语言细节研究不够的程序员都无法给出答案,我个人也只是停留在"知道"这一关键字的层次上,于是乎今天我又对着C99规范钻研了一番,略有收获,这里也...