:36.608KB : :1 :2019-12-10 08:38:59
注:RTLCOPYBYTES()、RTLCOPYMEMORY() 等函数不支持!//它们在微软定义中为 宏 macro 不属于 函数 function 所以无法采用声明API的方式处理
' 不过这些函数可以被模块中其他函数替代!//之所以想加进去,完美主义者!喜欢自虐!
_取通用数据类型()
注:经测试该函数不是很准确 有可能会误判 仅供参考 请慎用
自定义类型 或 函数指针 这两种判定得比较准确 因为内存中的特征较多
文本型可能会被误判为数组或数值
传来参数如果实际为的数值类型 但其如果恰表示一个指针 则也容易被误判为其他类型
Global.取结构体尺寸()
注意结构中不能嵌套再其他结构或含有数组,同时不能含有字节型、短整数型、字节集型的成员,否则会出问题;并且也都不能直接传字节集。
因为E中自定义数据类型嵌套结构或数组使用的是指针,发布到坛论易精与C/C++中直接为数据体不同;并且E的自定义数据类型里小于4字节的成员会被扩展为4字节,以实现对齐
如果结构像平时那样直接声明为结构时,E会自动把结构转换为C/C++中的标准的那种,但结构写为通用型时E只简单传递结构指针不做转换
R_指针到数据_变量()
【本质是将源数据的值写入目标变量,源数据不是基本类型的时候就是传指针了(注意如果源数据与目标变量类型不能兼容的话,程序就会崩溃)[还可实现父类到子类向下转型等]】
【汇编】没有放在一个类中,因为这样会导致汇编代码操作的结果出错!
【常量】所有常量按照微软官方处理!保证了大家内存操作的需求!但是在调试属性返回这些常量时,最好去官方找解释!因为有一些解释十分繁琐。这里未能补全,否则严重影响阅读!
那么使用本模块可以有哪些作用?
你有想过把自定义的数据结构变量保存到硬盘吗?
你有想过给DLL传自定义的数据结构变量吗?
你想跳出现有的变量限定吗?..
你想跳出限定吗?
你想强制进行任意类型数据转换吗?
也许它能满足你的愿望!
句柄 = Heap堆.创建 (0, 1048576, 0) ' 创建一个初始为 1MB(1048576字节) 无限制自动增长的堆
ASD = “123456”
内存指针 = Heap堆.分配内存 (句柄, 10, 取字节集长度 (到字节集 (ASD))) ' 从堆分配出空间给 ASD 变量的数据
内操.写数据 (进程.取伪句柄 (), 内存指针, ASD, 取字节集长度 (到字节集 (ASD)), 0) ' 向内存写入 ASD 的数据
ASD = “ ” ' 相当于申请指定固定长度的内存空间用于接受数据,不同的是此变量由易语言管理,不用我们释放。
内操.读数据 (进程.取伪句柄 (), 内存指针, ASD, 取字节集长度 (到字节集 (ASD)), 0) ' 从内存读出 ASD 的数据
调试输出 (ASD) ' 返回结果为 123456 ‘即之前存到堆中的数据
' 做测试》》》测试本项目是否有效
调试输出 (Heap堆.取堆内存块信息 (句柄, 信息))
调试输出 (信息.子项目结构.C空间.dwReserved [3])
' 做测试》》》测试本项目是否有效
调试输出 (Heap堆.释放空间 (句柄, 0, 内存指针))
调试输出 (Heap堆.释放 (句柄))
02-18汇编版子文本替换
02-17会员管理插件源码
02-16全网汇编代码整理模块
02-16动态创建菜单与响应事件源码,菜单编辑器
02-16取一组不重复数字,强行用汇编大法
02-15文本转哈希汇编版
02-09画板快捷启动3.2源码修改版
02-09王者荣耀战力小程序源码分享
09-07C++的string的实现源码分析
10-15易语言word循环插入文字 图片工具源码