- 博客(13)
- 资源 (6)
- 收藏
- 关注
转载 DELPHI内存详解(1)-应用程序内存组成
对于Windows 32来说,系统会给每个进程4GB的地址空间,低端2GB($00000000-$7FFFFFFF)给用户支配;高端2GB($80000000-$FFFFFFFF)留给系统使用,这个4G的地址空间叫“虚拟地址表”,虚拟地址表不是真实的内存。这个“虚拟地址表”上
2011-09-16 12:05:04
1255
转载 DELPHI内存详解(2)-堆和栈
栈是编译器自动分配释放,存放函数的参数值,局部变量的值,存取偏移是4字节,不会根据需要动态增长,超出范围会报异常;堆是由程序员分配释放,编译器都会默认建一个“堆”,建立“堆”时会同时提交真实内存,这在申请大内存时会很慢,所以默认“堆”也只有1M,但是“堆”没有限制大小,会根据需要
2011-09-16 12:04:33
1897
转载 DELPHI内存详解(3)-DELPHI的内存实现
DELPHI是在Windows内存管理的基础上,通过GetMem.inc来实现自己的内存管理器,它封装了操作系统API,使得用户可以直接分配内存,而无须考虑内存具体在哪个虚地址空间。这样的好处就是对于开发者来说:内存分配是透明,分配到的任何一块(既定长度的)内存都是连续的,可以通
2011-09-16 12:03:54
1086
转载 DELPHI内存详解(4)-变量初始化
DELPHI默认初始的变量是全局变量和类变量,初始化的规则,是内存块,内存内容全部初始化为#0,指针初始化为nil,别的(包括函数体内变量)都需要手动初始化。
2011-09-16 12:02:48
1292
转载 DELPHI内存详解(5)-用const来提高应用程序在多核多线程下的性能
我们经常在DELPHI中用const来定义常量,用const来保护函数参数,其实在用const保护函数参数还有另一个更为重要的作用,提高应用程序的执行效率,尤其是在多线程多核下效果更明显。原因是:普通的函数参数如Add(AValue: string),编译器在传入参数的时候先
2011-09-16 12:02:02
1074
转载 DELPHI内存详解(6)-函数返回值
DELPHI内存详解(6)-函数返回值2010-06-04 16:35Delphi函数在返回值的处理上,对于32简单数据类型(不包括浮点数类型),是使用eax返回的,如Integer等;对于64位简单数据类型,是使用edx:eax返回的,如int64类
2011-09-16 12:01:14
2360
转载 DELPHI内存详解(8)-String和Pchar
DELPHI内存详解(8)-String和Pchar2010-06-04 17:191 String的结构String结构为Cardinal(引用计数)Cardinal(长度)内容2
2011-09-16 11:57:36
1177
转载 DELPHI内存详解(7)-内存申请和释放
DELPHI内存详解(7)-内存申请和释放2010-06-04 16:411 内存分配常见函数GetMem和FreeMem、GetMemory和FreeMemory、New和Dispose、StrAlloc和StrDispose、AllocMem、
2011-09-16 11:46:16
6344
1
原创 WebBrowser代理
<br />WebBrowser代理,如下!<br />INTERNET_OPEN_TYPE_PRECONFIG 不使用代理 <br />{ access types for InternetOpen }<br />const<br /> INTERNET_OPEN_TYPE_PRECONFIG = 0; { use registry configuration }<br /> {$EXTERNALSYM INTERNET_OPEN_TYPE_PRECONFIG}<br /> INTE
2011-04-11 19:15:00
3956
原创 高兴!今天终于收到骗子的短信了(转)
高兴!今天终于收到骗子的短信了(转) 一直很郁闷,总没有收到过骗子的短信,以至于总觉得受歧视。今天,终于收到了一条骗子短信,还是时下最流行的冒充银行骗取卡号的骗局,全文如下:
2008-07-09 17:44:00
924
1
转载 TUXEDO在自动语音应答系统中的使用
TUXEDO在自动语音应答系统中的使用姜晓亮 2002/11/08 随着企业经营观念、服务意识的不断提高,自动语音应答(IVR,Interactive Voice Response)系统得到了越来越广泛的应用,如电信企业提供的170话费查询系统、1861手机话费查询系统、手机充值卡系统、各大银行提供的储蓄业务查询系统乃至航空公司提供的航班查询系统等,都是使用IVR系统来实现的。由于不
2008-07-01 13:36:00
2317
1
原创 try catch throw用法
try,catch,throw: try包含你要防护的代码,称为防护块. 防护块如果出现异常,会自动生成异常对象并抛出. catch捕捉特定的异常,并在其中进行适当处理. throw可以直接抛出/产生异常,导致控制流程转到catch块. 重要观点: C++中异常是用对象来表示的,称为异常对象. 基本格式: try { your code; } ca
2008-06-16 16:43:00
1979
原创 弹出错误 access violation at address 004096da write of address 00401000 解决
Access Violation(非法访问),General Protection Fault(一般保护性错误)或者Invalid Page Fault(无效页面错误),虽然说法不一样,但本质上总是由同一种错误引起的。Access Violation常常在计算机用户运行的程序试图存取未被指定使用的存储区时遇到。 Access violation at address in module Rea
2008-06-10 12:33:00
8204
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人