自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(10)
  • 收藏
  • 关注

原创 粗解“new”之来龙去脉(四)

我们知道运行一个程序后会进入一个系统调用函数,在vc6里我们可以设置这个函数,windows下可能会是wWinMainCRTStartup,那会不会就是在这里调用的? 我们通过查找源代码证实了就是在这里面调用的: #ifdef _WINMAIN_#ifdef WP

2011-09-21 14:35:31 571

原创 粗解“new”之来龙去脉(三)

我们暂且停止对内存分配的查找,看看这些变量是何时被初始化的,通过查找源代码我们可以看到是在__sbh_heap_init中对它赋值的。HANDLE _crtheap;int __cdecl __sbh_heap_init (void){ if (!(__sb

2011-09-21 14:27:17 857

原创 粗解“new”之来龙去脉(二)

接着往下走看看_heap_alloc_base这个函数#define MAX_ALLOC_DATA_SIZE 0x3f8#define BYTES_PER_PARA 16size_t __sbh_threshold = MAX_ALL

2011-09-21 14:21:02 955

原创 粗解“new”之来龙去脉(一)

使用C++的程序员都很熟悉使用new来分配一块内存,但是new函数具体是怎么工作的?可能很多人都没有花时间去研究,今天花了半天时间,查阅了相关的一些源代码,对它的来龙去脉有了一个初步的了解,写得不是很详细,一个是记录一下,另一个就是抛砖引玉,有兴趣的人可以深入研究。如果有不对的地

2011-09-21 14:11:09 675

原创 常见函数实现

参考mfc下的源文件以及网上的一些代码实现。留着做个参考strcmp比较两个字符串大小int mystrcmp( const char * src, const char * dst ){ int ret = 0 ; while( ! (ret =

2011-08-12 17:02:38 317

原创 Item:明智而审慎的使用pirvate继承

使用private继承后,编译器不会将一个private继承的派生类转换为基类 class Base{}class Derived:private Base{}Base* pBasePointer = new Derived(); // 错

2011-08-12 16:44:07 543

原创 Item:尽可能少做类型转换

C风格类型转换double dValue = 3.3;int nValue = (double)dValue;C++风格类型转换double dValue = 3.3;int nValue = static_cast(dValue);

2011-08-12 14:44:21 639

原创 C预处理器和C库-学习笔记

C预处理器和C库 学习笔记1.常量: #define只进行替换不进行计算#define SQRT(X) X*XSQRT(a+2);直接替换为: a+2*a+2,和预期不同,可以通过加括号来达到预期结果#define SQER(X) (X)*(X)

2011-08-04 14:07:06 376

原创 C++位运算

位运算学习总结位运算作用1. 掩码掩码是某些位设为开(1),而某些位设置为关(0)的位组合ch &= 0xff; //留下ch的最后8位2. 打开位有时需要打开一个值的特定位,同时其他位不变,使用“位或”来实现ch = ch | 0x01;

2011-08-04 13:49:40 406

原创 Perl 基本语法1

一个简单的perl 例子:print "hello world\n";printf("This is %s\n", "John");变量Perl包含三种基本数据类型:标量,数组和关联数组1.标量:用于保存单个值,字符串或数字。以"$

2011-08-02 14:57:17 524

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除