C++程序员进阶书籍推荐
摘要:程序员的技术成长路线:初级程序员-》中级程序员-》高级程序员-》架构师在初级、中级阶段推荐书:effective c++,windows核心编程,C++ Primer中文版(第4版)高级阶段推荐书籍:深入浅出MFC,COM本质论,深入探索C++对象模型,C++沉思录,windows驱动开发,架构师:编译器原理,解释器与连接器,架构之美,深入linux内核架构,Linux 内核完全剖析——基于0.12内核
阅读全文
单元测试
摘要:测试是软件开发过程中极其重要的一环,详尽周密的测试能够减少软件BUG,提高软件品质。测试包括单元测试、系统测试等。其中单元测试是指针对软件功能单元所作的测试,这里的功能单元可以是一个类的属性或者方法,测试的目的是看这些基本单元是否工作正常。由于单元测试的内容很基础,因此可以看作是测试工作的第一环,该项工作一般由开发人员自行完成。如果条件允许,单元测试代码的开发应与程序代码的开发同步进行。虽然不同程序的单元测试代码不尽相同,但测试代码的框架却非常相似,于是便出现了一些单元测试类库,CppUnit便是其中之一。CppUnit是XUnit中的一员,XUnit是一个大家族,还包括JUnit和Pytho
阅读全文
测试全攻略
摘要:在c++的世界里,程序设计的优雅让位于程序的稳定性、健壮性。“好程序是测出来的”这句话在C++领域里得到了充分体现。下面是我在开发中使用的测试方法,抛砖引玉,和大家交流下。测试期间,关闭对core文件的限制,使用命令:ulimit -c unlimited(1)开发阶段,使用cppunit维护测试用例。我一般是用于测试解析类、算法类。从http://sourceforge.net/projects/cppunit/下载最新版本,解压,看安装文档,一般是./configure & make & make install。下面举例说明我使用cppunit的方法。假设自己的源码位于s
阅读全文
memset、memcpy使用陷阱
摘要:void* memset(void *s,int c,size_t n)作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。比如:一、char strtmp[100];memset(strtmp,0,100);二、struct sample_struct{char csName[16];int iSeq;int iType;};struct sample_strcut stTest;一般情况下,清空stTest的方法:stTest.csName[0]='/0';stTest.iSeq=
阅读全文