- 博客(7)
- 资源 (9)
- 收藏
- 关注
转载 __stdcall调用约定
DLL中调用约定和名称修饰(一) 调用约定(Calling Convention)是指在程序设计语言中为了实现函数调用而建立的一种协议。这种协议规定了该语言的函数中的参数传送方式、参数是否可变和由谁来处理堆栈等问题。不同的语言定义了不同的调用约定。在C++中,为了允许操作符重载和函数重载,C++编译器往往按照某种规则改写每一个入口点的符号名,以便允许同一个名字(具有不同的参数类型或者是不同的作用域
2015-06-30 11:28:32 2278
原创 SGI STL 第二级空间配置器 内存池
从内存池中取控件给free list 使用,是chunk_alloc的工作:template <bool __threads, int __inst>char*__default_alloc_template<__threads, __inst>::chunk_alloc(size_t __size, int& __nobjs)//待分配块的数量是引用{ char* __result
2015-06-25 14:53:14 626
原创 深度探索C++对象模型-指向Data Members的指针
class Point3d{ public: virtual ~Point3d(); //.... protected: static Pointed origin ; float x,y,z ;};每一个Point3d class object 含有三个坐标值,依序为x、y、z,以及一个vptr。至于satic da
2015-06-19 14:40:20 1124
转载 volatile问题
volatile的中文意思—-易变的。在C语言中,volatile是一个类型修饰符(type specifier),volatile修饰的变量是说这个变量可能会被意想不到地改变,这样编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。volatile变量主要用在以下几个方面:(1)并行设备的硬件寄存器(如状态寄存
2015-06-19 10:32:01 512
转载 protected权限问题
转载,释然读C++ Primer 心中疑惑: http://www.cnblogs.com/harlentan/archive/2011/03/05/2006444.html关于C++中protected的访问权限的讨论已经是一个很陈旧的话题了,陈旧到大家都不愿意去讨论,觉得他见到到吃饭睡觉那么自然。我再次读《C++ Primer》的时候,其中关于protected 成员的描述是这样的:protec
2015-06-18 16:48:12 430
原创 主线程退出问题
主线程如果正常退出(即执行return返回),那么整个进程中所有的其他线程都会被清理; 如果主线程内执行ExitThread函数进行退出,那么主线程会执行退出,但是其他的线程不会被清理,而会一直执行到正常退出为止。 #include <iostream>#include <process.h>#include <Windows.h>using namespace std;UINT
2015-06-15 09:34:13 1019
转载 结构体字节对齐
在用sizeof运算符求算某结构体所占空间时,并不是简单地将结构体中所有元素各自占的空间相加,这里涉及到内存字节对齐的问题。从理论上讲,对于任何变量的访问都可以从任何地址开始访问,但是事实上不是如此,实际上访问特定类型的变量只能在特定的地址访问,这就需要各个变量在空间上按一定的规则排列,而不是简单地顺序排列,这就是内存对齐。 内存对齐的原因: 1)某些平台只能在特定的地址处访问特定类型的数据
2015-06-12 14:27:46 405
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人