- 博客(4)
- 收藏
- 关注
转载 #define
1. 定义简单的常数:定义常量,便于修改(切不可在后面加上分号!)#define N 1000等效于 const int N = 1000; 但略有不同,define只是简单替换,而不是作为一个量来使用.2. 定义简单的函数:注意多使用括号define可以像函数那样接受一些参数,如下:#define max(x,y) (x)>(y)?(x):(y);...
2013-10-21 09:55:00 78
转载 函数调用的区别:_cdecl以及_stdcall
一、概念1)_stdcall调用 _stdcall是Pascal程序的缺省调用方式,参数采用从右到左的压栈方式,由调用者完成压栈操作,被调函数自身在返回前清空堆栈。 WIN32 Api都采用_stdcall调用方式,这样的宏定义说明了问题: #define WINAPI _stdcall 按C编译方式,_stdcall调用约定在输出函数名前面加下划线,后面加“@”符号...
2013-04-10 21:48:00 80
转载 DLL的那些事儿
DLL是dynamic-Link Library的缩写,它一直是windows编程的基石。DLL是一个windows程序员必须要掌握的技能。下面从几个不同的方面介绍一下DLL的基础知识,或许会有不妥的地方,希望大家指正。一、DLL与EXE的区别。1.在进程初始化时,系统在进程的地址空间中创建一个堆。这个堆就是进程的默认堆。而DLL中没有与其相关的堆。2.每当创建一个线程时,系统就会为线...
2013-04-10 21:47:00 135
转载 进程虚拟地址空间
在windows操作系统中,每个进程都有自己的私有地址空间,因此一个进程的线程只能访问属于这个进程的内存空间,即进程之间是地址隔离的。在windows2000中,进程虚拟地址空间可分为如下四个部分:1)NULL 区 (0x00000000~0x0000FFFF): 如果进程中的一个线程试图操作这个分区中的数据,CPU就会引发非法访问。他的作用是,调用malloc等内存分配函数时,如果无...
2013-04-10 21:45:00 225
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人