C/C++编程
zzulp
这个作者很懒,什么都没留下…
展开
-
程序员面试问题精选
题目来自程序员面试宝典及我在面试笔试过程中遇到的一些疑难点 ++与函数参数进栈int array[]={1,2,3,4,5}int *ptr=array;*(ptr++)+=123;printf("%d,%d",*ptr,*(++ptr));结果为输入:3,3 类型转换与地址float i=1.0fcoutcoutcoutcout 类型转换与指针unsigned int a原创 2009-09-16 21:47:00 · 1008 阅读 · 0 评论 -
内部链接与外部链接
参考文献: http://blog.chinaunix.net/space.php?uid=113544&do=blog&id=85578 http://www.cnblogs.com/cnjy/archive/2011/03/27/1997327.html原创 2011-11-14 19:05:16 · 1331 阅读 · 0 评论 -
lib与dll的区别
转载自http://www.cnblogs.com/cnjy/archive/2010/04/17/1714411.html 首先我们来明白一个工程从创建到可执行文件的过程:创建工程——编写代码——编译——链接——可执行文件。 我相信任何人肯定能从VC6.0的目录下找到两个文件夹lib与include。而include内的都是大家熟悉的头文件(如iostream.h、conio转载 2011-11-14 18:55:46 · 876 阅读 · 0 评论 -
Linux on Power 上的调试工具和技术
原文地址:http://www.ibm.com/developerworks/cn/linux/l-pow-debug 简介 调试程序有很多方法,例如向屏幕上打印消息,使用调试器,或者只需仔细考虑程序如何运行,并对问题进行有根有据的猜测。 在修复 b转载 2011-08-10 10:18:27 · 843 阅读 · 0 评论 -
Linux 动态库剖析
原文链接:http://www.ibm.com/developerworks/cn/linux/l-dynamic-libraries/ 库用于将相似函数打包在一个单元中。然后这些单元就可为其他开发人员所共享,并因此有了模块化编程这种说法 — 即,从模块中构建程序。Linu转载 2011-08-01 10:11:52 · 887 阅读 · 0 评论 -
多线程程序杂记
最近又完成一个C++服务器项目的开发,使用了多线程,在测试过程中遇到一些问题,记录一下,以供以后查看。 1 内存泄露 由于采用了缓冲的机制,而且操作的是大块数据,因此用的new比较多。在做压力测试的时候经常把内存耗光,导致死机。 当确认存在内存原创 2011-07-15 20:11:17 · 1267 阅读 · 0 评论 -
C++11中值得关注的几大变化
原文地址:http://blog.csdn.net/lanphaday/article/details/6564162英文原文:http://www.softwarequalityconnection.com/2011/06/the-biggest-changes-in-c11-and-why-you-should-care/ 1 Lambda 表达式Lambda 表达式的形式是这样的:view转载 2011-07-02 21:04:12 · 804 阅读 · 0 评论 -
volatile编写多线程程序的好帮手
<br /> 英文名称是Generic<Programming>: volatile — Multithreaded Programmer's Best Friend,原始出处也不想找了,网上有许多转载,下面是中文翻译,转载自:http://dev.csdn.net/htmls/83/83923.html<br /> 文章的中心思想是利用C++的类型检查机制,封装共享对象,在封装对象里进行同步,这样使得编译器通过语法检测便可以检测出大部分低级(代码级)竞态条件,从而提高开发效率。<b转载 2011-04-01 17:50:00 · 1206 阅读 · 0 评论 -
volitile变量的使用
volatile 影响编译器编译的结果,指出volatile 变量每次使用时都需要去内存里重新读取它的值,而不是从缓冲中加载,即volatile变量有关的运算,不要进行特殊优化。{int I = 10;int j = I;int k=I;} 对于上面的代码段,优化的作法是,编译器发现两次从i读数据的代码之间的代码没有对i进行过操作,它会从cache中把上次读的数据i放在k中。而不是重新从i的内存里面读。这样以来,如果i是一个寄存器变量或者表示一个端口数据就容易出错,所以说volatile可以保证对特殊地址转载 2011-02-26 21:42:00 · 3809 阅读 · 0 评论 -
进程段错误问题查找
近期接手了一个服务器项目,服务器程序已经上线将近2个月,期间有过几次崩溃,崩溃时没有生成coredump,从服务器的进程的监管deamon进程的反应来看,服务器进程是收到了SIGSEGV导致崩溃。而日志输出上仅仅能查到崩溃位置位于代码中使用的公司的基础代码库中,而这个库已经被证明是正确的。 由于崩溃问题并不严重,曾经负责调查的人认为是服务器程序收到了异常报文,这个问题也随着这位同事的离职而不了了之。 在我接手之后,由于需要增加功能,就进行了后续开发,开发结束在内网测试没有任何原创 2010-12-10 22:41:00 · 2578 阅读 · 0 评论 -
enum类型的本质
原文出自:http://www.cppblog.com/chemz/archive/2007/06/05/25578.html 至从C语言开始enum类型就被作为用户自定义分类有限集合常量的方法被引入到了语言当中,而且一度成为C++中定义编译期常量的唯一方法(后来在类中引入了静态整型常量)。 根据上面对enum类型的描述,到底enum所定义出来的类型是一个什么样转载 2010-05-19 13:55:00 · 660 阅读 · 0 评论 -
代码自动生成-宏带来的奇技淫巧
http://www.cppblog.com/kevinlynx/archive/2008/03/19/44828.html Author : Kevin Lynx 众多C++书籍都忠告我们C语言宏是万恶之首,但事情总不如我们想象的那么坏,就如同goto一样。宏有 一个很大的作用,就是自动为我们产生代码。如果说模板可以为我们产生各种型别的代码(型别替换), 那么宏其实可以为我们在符号上产生新转载 2009-12-10 16:59:00 · 1057 阅读 · 0 评论 -
C语言常用宏定义
01: 防止一个头文件被重复包含#ifndef COMDEF_H#define COMDEF_H//头文件内容#endif02: 重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。typedef unsigned char boolean; /* Boolean value type. */typedef unsigned long in转载 2010-02-04 10:20:00 · 621 阅读 · 0 评论 -
some basic program you we can study
1 strcatchar*strcat(char *s, const char *append){ char *save = s; for (; *s; ++s); while ((*s++ = *append++) != /0); return(save);} 2 strlcat/* *原创 2009-11-20 15:29:00 · 861 阅读 · 0 评论 -
近期笔试题回顾
1 const 与 const函数重载 #include using namespace std; class a { public: virtual int foo(int *const index) { cout<<"2/n"; return 0; } virtual int foo(i原创 2009-11-02 11:26:00 · 753 阅读 · 0 评论 -
C语言解惑要点
1 运算符的优先级 2 类型转换2.1 有符号与无符号数int main(){ int i=-2; unsigned int ui=-2; printf("%d/t%d/n",i,ui); printf("%d/t%d/n",i/2,ui/2); printf("%d/t%d/n",i>>1,ui>>1); }结果输出为原创 2009-11-05 09:13:00 · 899 阅读 · 0 评论 -
面向对象设计之五 继承与多态的危险性
继承与多态的危险性 继承与多态使面向对象的设计方法与传统的软件开发方式区别开来。然而滥用继承也会将一些设计方案带入无法实现的地步。 1 继承的滥用 本节的目标是审查不同形式的错误的继承,以避免在将用的工程项目中滥用继承。 1.1 组合与继承混用 混淆了is-a与has-a的关系,使用继承将整体的多个部分整合在一起。 例如一架飞机是由机身、机翼、引擎等各部分组合的,而错误的将飞机继承自机原创 2011-10-25 23:13:51 · 1156 阅读 · 0 评论