精易论坛

标题: 单元内存池直接扩展为动态内存池 [打印本页]

作者: 猫神父    时间: 2022-7-17 08:22
标题: 单元内存池直接扩展为动态内存池
单元内存池循环申请就等于动态内存,不必精确到字节,精确到“网格”即可

  
子程序名返回值类型公开备 注
内存池_写入整数型 数据链表
参数名类 型参考可空数组备 注
数据句柄整数型
数据缓存整数型
数据长度整数型
变量名类 型静态数组备 注
块尺寸整数型 
数据尺寸整数型 
索引句柄整数型 
剩余长度整数型 
写指针整数型 
下一个整数型 
写入地址整数型 
' ┎┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┒
' ┟  +0      首地址, 整数型
' .                   ┟┄┄下一个块
' .                   ┖┄┄剩余长度
' .            ┟┄┄数据
' .            ┖┄┄...
' ┖┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┚
如果真 (数据长度 = 0)
返回 (0)

块尺寸 = 读整数 (数据句柄, #内存池_块尺寸 )
数据尺寸 = Sub (块尺寸, 8)
索引句柄 = _内存池_申请 (数据句柄)
写入地址 = 索引句柄
变量循环首 (0, Dec (数据长度), 数据尺寸, 写指针)
剩余长度 = Sub (数据长度, 写指针)
如果 (剩余长度 > 数据尺寸)
RtlMoveMemory_Nt (Add (写入地址, 8), Add (数据缓存, 写指针), 数据尺寸)
下一个 = _内存池_申请 (数据句柄)

RtlMoveMemory_Nt (Add (写入地址, 8), Add (数据缓存, 写指针), 剩余长度)
下一个 = 0

写整数 (写入地址, 0, 下一个)
写整数 (写入地址, 4, 剩余长度)
写入地址 = 下一个
变量循环尾 ()
返回 (索引句柄)

单元内存池EX.e

24.65 KB, 下载次数: 45, 下载积分: 精币 -2 枚


作者: pjm123    时间: 2022-7-17 09:12
谢谢分享
作者: mooo    时间: 2022-7-17 09:18
谢谢分享

作者: Conquer    时间: 2022-7-17 09:24
谢谢分享
作者: yzl666    时间: 2022-7-17 15:36
感谢分享
作者: jysoft2022    时间: 2022-7-17 23:35
谢谢分享
作者: 大师兄是反派    时间: 2022-7-18 06:16
666666666666666
作者: 秋殇    时间: 2022-7-18 08:07
支持开源谢谢
作者: a6546    时间: 2022-7-18 21:01
谢谢开源
作者: 蒙顺童    时间: 2022-7-19 02:18
感谢分享,很给力!~
作者: 胖虎O    时间: 2022-7-19 09:55
单元内存池
作者: 网络注册网员    时间: 2022-7-22 09:43
这个功能好
作者: q27585306    时间: 2022-7-23 23:55
没接触导这方面知识 不过好像是个很NB的源码
作者: 2023724748    时间: 2022-7-27 16:42
开源精神必须支持~
作者: sostemp    时间: 2022-7-28 09:56

没接触导这方面知识 不过好像是个很NB的源码
作者: 59hdvj    时间: 2022-8-6 19:29
支持一下
作者: liaoxiaohu    时间: 2023-10-6 16:20
66666666666666666666
作者: 15930887162    时间: 2024-2-17 09:35
内存研究一下。。。。。。
作者: 萧然    时间: 2025-6-10 11:23
支持啊!!




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4