本帖最后由 SYzenghao 于 2020-1-7 18:32 编辑
就不上传附件了,不是很长
这个子程序主要是替换字节集用,当处理超长字节集的时候,易语言自带的替换字节集是很慢的
这个方法是通过写指针来达到替换字节集,直接定位要替换的位置
要注意以下几点
1,替换位置,为被替换字节集的偏移,从0开始
2,替换长度,为替换字节集的偏移,从0开始
3,需要自己计算出是否可以替换,被替换字节集地址+替换位置+替换长度 不能超过 被替换字节集地址+被替换字节集长度;
4,同样 替换长度 不能超过 替换字节集长度
5,其中 要使用 取变量xx地址 () 而不是 取变量地址 () 取变量地址 在取字节集时会多一层偏移,有兴趣的可以研究研究
有需要判断的自己写一下,我就不写了
...shuju被和谐,xx代表shuju
.版本 2
.支持库 spec
.子程序 __启动窗口_创建完毕
.局部变量 d, 字节集
.局部变量 d1, 字节集
d = 取空白字节集 (20)
d1 = { 9, 8, 7, 6 }
子功能_指针_替换字节集 (取变量xx地址 (d), 1, 4, 取变量xx地址 (d1))
调试输出 (d)
调试输出 (d1)
结束 ()
.子程序 子功能_指针_替换字节集, 整数型
.参数 被替换的字节集指针, 整数型, , ebp+8
.参数 替换位置, 整数型, , ebp+12
.参数 替换长度, 整数型, , ebp+16
.参数 替换的字节集指针, 整数型, , ebp+20
.局部变量 当前地址, 整数型
当前地址 = 被替换的字节集指针 + 替换位置
写到内存 (指针到字节集 (替换的字节集指针, 替换长度), 当前地址, 替换长度)
返回 (1)
|