编程秘术:热衷探索;突破困境,提升自我。
 
发新帖
楼主: iYuYan
查看: 974|回复: 0

[源码] 【内存堆操作·第二篇】探索计算机内存堆操作

[复制链接]
iYuYan 发表于 2020-4-21 20:36:50 | 显示全部楼层
本帖最后由 iYuYan 于 2020-4-22 21:59 编辑
对于一个的开发人员,无论怎么也无法绕过内存操作,特此探索内存堆如何操作,共同进步!
  1. .版本 2

  2. .子程序 实例_第二篇
  3. .局部变量 内存堆, 内存堆
  4. .局部变量 ptr, 整数型
  5. .局部变量 ret, 整数型
  6. .局部变量 len, 整数型
  7. .局部变量 str, 文本型
  8. .局部变量 tmpData, 文本型

  9. ' 1、整理一些内存读写和获取变量指针需要的方法
  10. ' 2、演示调用内存堆模块实现读写操作

  11. 内存堆.创建 ()
  12. ' >>> 申请一个内存块大小为4个字节
  13. ptr = 内存堆.分配内存 (4)
  14. ' >>> 通过分配内存了指针写入整数型,及读取写入后的指针数据
  15. 内存_写整数 (ptr, 1000000, 4)
  16. 内存_读整数 (ptr, ret, 4)
  17. 输出调试文本 (ret)

  18. 输出调试文本 (“-----------------------------”)
  19. ' >>> 申请一个内存块大小与文本长度一样的空间
  20. str = “我是一个文本内容”
  21. len = 取文本长度 (str)
  22. ptr = 内存堆.分配内存 (len)
  23. 内存_写文本 (ptr, str)
  24. 内存_读文本 (ptr, tmpData)
  25. 输出调试文本 (tmpData)


  26. 输出调试文本 (“-----------------------------”)
  27. ' >>> 申请一个内存块大小可以同时写入文本、整数内容
  28. ' 按理来说这样申请是不科学的,如果在动态添加不同长度的文本时,这里只是为了演示理解就好
  29. ' 1、申请整数型还是4个字节
  30. ' 2、申请文本型根据内容长度申请
  31. ' 3、通过偏移来读取一个内存上的2个不同类型数据
  32. str = “我是在整数型后面的文本”
  33. len = 取文本长度 (str)
  34. ptr = 内存堆.分配内存 (4 + len)

  35. ' >>>> 写入整数型 、文本型内容。
  36. 内存_写整数 (ptr, 110119, 4)
  37. 内存_写文本 (ptr + 4, str)  ' ptr + 4 说明在内存空间偏移4个字节后在写入文本

  38. 内存_读整数 (ptr, ret, 4)
  39. 内存_读文本 (ptr + 4, tmpData)
  40. 输出调试文本 (ret)
  41. 输出调试文本 (tmpData)
  42. 输出调试文本 (“-----------------------------”)

  43. 内存堆.销毁 ()
复制代码

1.jpg

  • ' 1、整理一些内存读写和获取变量指针需要的方法
  • ' 2、演示调用内存堆模块实现读写操作
  • ' 3、一个内存地址写入多个数据类型实现读写操作

【内存堆操作·第一篇】http://www.kaikuoyun.com/thread-747-1-1.html
【内存堆操作·第三篇】http://www.kaikuoyun.com/thread-756-1-1.html



实例_堆内存 - 第二篇.rar

9.48 KB, 下载次数: 0, 下载积分: 金币 -2

快速回复 返回顶部 返回列表