C
文章平均质量分 74
WalleFu
希望做一个思想自由的人, 通过自己的努力给家人提供一个舒适的生活条件,并有能力帮助和影响周围的朋友。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
使用C风格字符串你必须知道的几点
最近在看C代码写的开源软件putty,因为C代码经验非常少,分析起来很吃力,觉得把C语言的一些特性在复习一下很有必要,这里利用中午的半个小时把C风格的字符串总结一下:0.所有人都知道的一点:C风格字符串都是以'\0'结尾的。所以如果拷贝一个字符串,请确保计算的长度已经考虑了这个结尾符号。另外C风格的字符串是在内存上申请数组存储的,所有的保护措施需要申请者自己维护,n原创 2013-04-28 12:19:15 · 1848 阅读 · 0 评论 -
编译putty时遇到怪异的链接问题
下载之后先把VS6.0的工程转换为VS2008的工程。因为只调试putty,所以先把其他的工程设置为unabailable.然后直接编译:遇到错误:1>c:\program files\microsoft sdks\windows\v6.0a\include\sspi.h(60) : fatal error C1189: #error : You原创 2013-04-26 14:18:12 · 2193 阅读 · 0 评论 -
一个全局变量的编译错误引出的思考
现在,不管在很多公司,遇到一个追求完美编码的同行非常少了,很多都是能运行就行,或者直观自己使用方便就行。其实,我非常不喜欢使用全局变量,好的代码应该严格遵守开放封闭原则,而全局变量的定义显然破坏了这一原则。我采用的方法一般是在定义静态变量,并且针对这个静态变量提供对外的操作接口,这样外部函数如果需要使用这个变量,完全可以通过统一的接口来调用。但是,遗憾的是,我们代码中这样的全局变量非常普遍,而且要命的是,这种变量作为数据库存储大量的数据,很多不同的模块代码可以对其进行访问操作,风险很大。原创 2014-03-06 17:24:00 · 2138 阅读 · 0 评论 -
How to mock the function with output parameter by cppumock?
Question:How to mock the function with output parameter with cppumock?My solution is through one global parameter to change the output parameter in mock function.But apparently this is not e原创 2013-11-22 12:13:24 · 2274 阅读 · 0 评论 -
Accessing static Data and Functions in Legacy C
http://www.renaissancesoftware.net/blog/archives/430http://www.renaissancesoftware.net/blog/archives/450It’s a new year; last year was a leap year; so the quadrennial reports of leap y转载 2013-11-22 11:21:28 · 1276 阅读 · 0 评论 -
Linux源码学习笔记:syscalls
1. 首先应该弄明白下面的一个问题:具体引用的是哪个文件?相互之间的引用关系?2. 以下这些系统调用的宏定义是怎么展开的?SYSCALL_DEFINE0(...)SYSCALL_DEFINE1(...)SYSCALL_DEFINE2(...)SYSCALL_DEFINE3(...)SYSCALL_DEFINE4(...)这些宏定义原创 2014-08-06 20:07:46 · 2625 阅读 · 0 评论 -
C 语言部分实现面向对象的继承特性
最近在研究Linux源码的时候遇到很多不曾见过的C语言用法,尤其是一些面相对象的特性。最熟悉的是C99标准,最新的C11标准没有仔细研究过,泛泛看了一下资料觉得也主要是增加了一些对多线程支持的特性,对于面向对象的特性应该没有。搜索了一下,找到一篇很好的文章。该文章采用C语言很灵巧的部分实现了面向对象的继承特性。遗憾的是源代码貌似有问题,对于struct的内存布局有错误,也编译不原创 2014-08-19 14:58:25 · 1178 阅读 · 0 评论 -
关于sizeof的误用问题
很多人对于sizeof函数的使用有误解,这里仅对这一点进行必要的说明,并且附带一个常见错误的代码例子原创 2013-12-06 23:01:49 · 2532 阅读 · 0 评论 -
C 语言部分实现面向对象的继承特性【重构】
重构版本:之前的一个版本中,在“子类”对象构造时,采用动态对象申请“父类”,然后在内存拷贝到“子类的对象”中,在“子类”的“构造函数”结束后,再让临时“父类”对象“析构”。对于本文中的例子,animal类更像纯虚基类,因此其仅仅提供接口就可以了,不用对齐分配动态内存。下面我对这个例子进行了重构。重构后的代码,仅仅附上修改的部分://animal_base.h原创 2014-08-20 09:46:13 · 1041 阅读 · 0 评论
分享