当前位置: 首页 > news >正文

内存释放

1.内存分为三个区域:全局变量区,栈区,堆区
  全局变量区:专门存放全局变量
  栈区:分配在栈上的变量可被栈管理器自动释放
  堆区:堆上的变量内存必须人工去释放
2.指针类变量
  指针类的变量在声明为全局变量时被初始化为空值,在声明为局部变量时则初始化为一个随机数,对于指针类型一般
  要使用一些代码来完成内存分配
3.动态分配内存的函数和过程
  procedure GetMem(Var P: Pointer; Size: Integer);
  分配大小为Size字节的内存块,并让P指向它
  procedure AllocMem(Size: Cardinal):Pointer;
  分配大小为Size字节的内存块并始初化为零,并返回地址指针
  procedure ReallocMem(Var P: Pointer; Size: Integer);
  在途中更改先前用GetMem或者AllocMem分配的内存大小
  procedure FreeMem(Var P: Pointer);
  使用GetMem和AllocMem分配的内存都应该用FreeMem释放
  Procedure New(Var P: Pointer);
  用New分配的内存大小由参数P的数据类型确定,因此,不要使用它给无类型指针变量分配内存.
  Procedure Dispose(Var P: Pointer);
  释放该内存块使用dispose

相关文章:

  • 我的译作
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • 百度排名公式最新版
  • Day6:html和css
  • NAT技术及其应用
  • Verilog实现同步FIFO
  • 做个md5查询站(3)数据格式
  • C语言博客作业06--结构体文件
  • 事件类型
  • 英语数字读法
  • bootstrp的datetimepicker插件获取选定日期
  • 08年cpu
  • VMware网络适配器的选择
  • 三、MyBatis-全局配置文件
  • Legato Backup Server DR SOP
  • conda常用的命令
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • github从入门到放弃(1)
  • Laravel Mix运行时关于es2015报错解决方案
  • SSH 免密登录
  • Web标准制定过程
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 观察者模式实现非直接耦合
  • 基于遗传算法的优化问题求解
  • 解析带emoji和链接的聊天系统消息
  • 前端路由实现-history
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 通信类
  • 运行时添加log4j2的appender
  • 转载:[译] 内容加速黑科技趣谈
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • ​比特币大跌的 2 个原因
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #FPGA(基础知识)
  • #if #elif #endif
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • $.ajax()方法详解
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (done) 两个矩阵 “相似” 是什么意思?
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (新)网络工程师考点串讲与真题详解
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • ***测试-HTTP方法
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .net快速开发框架源码分享
  • @RequestMapping-占位符映射
  • @Valid和@NotNull字段校验使用
  • [Android]使用Git将项目提交到GitHub
  • [C++] 如何使用Visual Studio 2022 + QT6创建桌面应用
  • [E链表] lc83. 删除排序链表中的重复元素(单链表+模拟)