下你所需,载你所想!
汇集开发技术源码资料

内存读写数据类型字节集互相转换

:4.799KB :1 :2019-12-24 08:02:03

部分简介

源码功能很简单,就是把数据类型转成字节集
把字节集转成数据类型
如果不需要此功能的,就把他当成是一个内存读写的例子吧。

指针 = 取数据_通用型 (数据类型)
起始位置 = 1
字节集长度 = 取字节集长度 (字节集)
.判断循环首 (真)
类型 = 取字节集数据 (取字节集中间 (字节集, 起始位置, 4), #整数型, ) ' 先取数据类型
数据长度 = 取字节集数据 (取字节集中间 (字节集, 起始位置 + 4, 4), #整数型, ) ' 数据长度
临时字节集 = 取字节集中间 (字节集, 起始位置 + 8, 数据长度) ' 实际数据
成员指针 = 指针 + 索引 × 4
索引 = 索引 + 1 ' 指向下一个成员索引
.判断开始 (类型 = #类型_整数) ' 走到这里表示数据都往栈里写
写到内存_字节集型 (成员指针, 临时字节集) ' 因为是固定占用这么多字节,所以直接把字节集写入这个地址

.判断 (类型 = #类型_指针) ' 写到这里表示往堆里写
.如果真 (指针到整数 (成员指针) = 0) ' =0的话表示这个变量没有被初始化,如果有初始化,这个返回的是这个变量的数据地址
' 这里可以做初始化堆内存,写到内存_通用型() 已经申请了堆内存,没有申请的话请用其他方式把值赋进去吧,变量交换之类的
.如果真结束
写到内存_通用型 (成员指针, 临时字节集)
.默认

.判断结束
起始位置 = 起始位置 + 8 + 数据长度 ' 指向下一个地址
.如果真 (起始位置 ≥ 字节集长度)
跳出循环 ()
.如果真结束

.判断循环尾 ()

内存读写数据类型字节集互相转换

热门推荐

相关文章