关 键 词:
笔记 学习 开发 扩展 内存 函数 分配 释放 请求 结束
内存管理
在C语言里,分配内存有一组alloc函数,比如malloc、calloc、realloc。php为了更方便,更安全地管理内存,自己提供了一组内存分配的函数:emalloc、ecalloc、erealloc,此外还有estrdup用于拷贝内存,efree用于释放由前面那些函数分配的内存。他们的用法和标准C函数的一样。这组e开头的函数分配的内存空间只存在于一次请求。在请求结束后,php会自动释放掉。这就减少了由于没有释放掉内存而造成的内存泄露的可能。
如果需要分配的内存在整个进程运行时都保持,而不是在请求处理结束后自动释放,则还有一组pe开头的函数,如pemalloc、pecalloc等。这组函数比标准C函数的多一个参数,即分配的内存是否持久,当这个参数为1时,即表示分配的是持久的内存,不会随着请求结束而自动释放。如:pemalloc(sizeof(long) * 100, 1);。
此外,为了方便使用,还提供了safe_emalloc和safe_pemalloc这两个函数。 safe_emalloc的原型如下:void *safe_emalloc(size_t size, size_t count, size_t addtl);。参数分别表示单元的大小,单元的个数,以及偏移。实际分配的空间大小就是size * count + addtl。safe_pemalloc与之类似。这两个函数还有一个作用就是避免手工做上面的计算时,可能造成整数溢出,而导致分配的内存大小小于预期或者是个负数。
欢迎进入PHP开发资源论坛讨论。相关文章
图文推荐
论 坛 资 源
·php扩展开发学习笔记 1
·php设计模式介绍之单件模式 [3]
·php设计模式介绍之单件模式 [2]
·php设计模式介绍之单件模式 [1]
·Zope的优点及和Apache+PHP+MySQL的比较
·PHP面向对象、类经典教程[2]
·PHP面向对象、类经典教程[1]
·用 Xdebug 修正 PHP 应用程序中的错误(5)
·用 Xdebug 修正 PHP 应用程序中的错误(4)
·用 Xdebug 修正 PHP 应用程序中的错误(3)
·php设计模式介绍之单件模式 [3]
·php设计模式介绍之单件模式 [2]
·php设计模式介绍之单件模式 [1]
·Zope的优点及和Apache+PHP+MySQL的比较
·PHP面向对象、类经典教程[2]
·PHP面向对象、类经典教程[1]
·用 Xdebug 修正 PHP 应用程序中的错误(5)
·用 Xdebug 修正 PHP 应用程序中的错误(4)
·用 Xdebug 修正 PHP 应用程序中的错误(3)
热门技术文档
·php扩展开发学习笔记 7
·php扩展开发学习笔记 5
·php扩展开发学习笔记 4
·php扩展开发学习笔记 3
·php扩展开发学习笔记 2
·php扩展开发学习笔记 1
·php设计模式介绍之单件模式 [3]
·php设计模式介绍之单件模式 [2]
·php设计模式介绍之单件模式 [1]
·Zope的优点及和Apache+PHP+MySQL的比较
·php扩展开发学习笔记 5
·php扩展开发学习笔记 4
·php扩展开发学习笔记 3
·php扩展开发学习笔记 2
·php扩展开发学习笔记 1
·php设计模式介绍之单件模式 [3]
·php设计模式介绍之单件模式 [2]
·php设计模式介绍之单件模式 [1]
·Zope的优点及和Apache+PHP+MySQL的比较
最新图文档
本站编辑推荐:(本站开通Delphi4PHP专区,欢迎进入论坛交流!)
- · 3分钟快速了解 Delphi for PHP 特色 (中文), PDF档
- · 购买Delphi for PHP的五大理由, PDF档
- · Delphi for PHP 使用规格介绍, PDF档
- · Delphi for PHP 問答集 (From CodeGear)
- · Delphi for PHP 产品价格表
编缉最近更新文章
网站赞助商
搜索您感兴趣的内容




