- 博客(3)
- 资源 (7)
- 收藏
- 关注
转载 内存越界
<br />1. 原理分析<br />经常有些新C++程序员问:C++的类的成员个数是不是有限制,为什么我加一个变量后程序就死了?或者说:是不是成员变量的顺序很重要,为什么我两个成员变量顺序换一换程序就不行了?凡此种种之怪现象,往往都是内存访问越界所致。<br />何谓内存访问越界,简单的说,你向系统申请了一块内存,在使用这块内存的时候,超出了你申请的范围。例如,你明明申请的是100字节的空间,但是你由于某种原因写入了120字节,这就是内存访问越界。内存访问越界的后果是:你的写入破坏了本不属于你的空间。<b
2011-02-06 11:47:00 443
转载 也谈C语言变长参数
<br />很多技术人员都有在"技术细节"上"钻牛角尖"的"癖好",对此很多人褒贬不一;无论怎样,我也是属于这类人。C语言的变长参数在平时做开发时很少会在自 己设计的接口中用到,但我们最常用的接口printf就是使用的变长参数接口,在感受到printf强大的魅力的同时,是否想挖据一下到底printf是 如何实现的呢?这里我们一起来挖掘一下C语言变长参数的奥秘。<br />先考虑这样一个问题:如果我们不使用C标准库(libc)中提供的Facilities,我们自己是否可以实现拥有变长参数的函数呢?我们不妨试试
2011-01-18 11:08:00 175
原创 C语言变长参数实现
在C编译器通常提供了一系列处理可变参数的宏,实现就像printf()那样的变长参数,这样可以屏蔽不同的硬件平台造成的差异,增加程序的可移植性。这些宏包括va_start、 va_arg和va_end等,这些宏都是在里定义的。采用ANSI标准形式时,参数个数可变的函数的原型声明是:type funcname(type para1, type para2, ...)这种形式至少需要一个普通的形式参数,后面的省略号不表示省略,而是函数原型的一部分。type是函数返回值和形式参数的类型。不同的编译器,对这个可变
2011-01-18 10:24:00 395
基于DSP的一种快速有效的图像倾斜校正方法.pdf
2012-03-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人