精易论坛

标题: 关于易语言内存的疑问 [打印本页]

作者: LWB666    时间: 14 小时前
标题: 关于易语言内存的疑问
为啥易语言核心库里的 写到内存() 写文本数据后传地址给线程, 如果是文本型参数可以直接解析出来正确的内容, 而其他的写到内存不能解析出来正确内容, 而是直接把地址值进行编码

示例代码:
  
子程序名返回值类型公开备 注
_启动子程序整数型 本子程序在程序启动后最先执行
变量名类 型静态数组备 注
msg文本型 
len整数型 
ptr1整数型 
ptr2整数型 
msg = “hello world”
len = 取文本长度 (msg)
ptr1 = 申请内存 (len, )
ptr2 = 申请内存 (len, )
写到内存 (msg, ptr1, )
内存_写到内存 (ptr2, 取变量地址 (ptr2), len)
线程_启动 (&线程, ptr1)
线程_启动 (&线程, ptr2)
延迟 (10000)
返回 (0)  ' 可以根据您的需要返回任意数值
子程序名返回值类型公开备 注
线程  
参数名类 型参考可空数组备 注
msg文本型
调试输出 (msg)


i支持库列表   支持库注释   
spec特殊功能支持库


作者: chenboss    时间: 14 小时前
为字符串申请内存要多加一个\0当结束符,否则可能有脏数据,内存_写到内存 第二个参数要填msg指针才对
  
变量名类 型静态数组备 注
msg文本型 
len整数型 
ptr1整数型 
ptr2整数型 
msg = “hello world”
len = 取文本长度 (msg) + 1
ptr1 = 申请内存 (len, )
ptr2 = 申请内存 (len, )
写到内存 (msg, ptr1, len)
内存_写到内存 (ptr2, 取变量数据地址 (msg), len)
线程_启动 (&线程, ptr1, )
线程_启动 (&线程, ptr2, )
子程序名返回值类型公开备 注
线程  
参数名类 型参考可空数组备 注
msg文本型
调试输出 (msg)


i支持库列表   支持库注释   
spec特殊功能支持库

补充内容 (2025-1-19 07:31):
写到内存使用方便是因为易语言内部帮你完成了取指针和长度的步骤
作者: 真IKUN    时间: 13 小时前
不知道这样是否方便你理解
  
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
msg文本型 
len整数型 
ptr1整数型 
ptr2整数型 
msg = “hello world”
len = 取文本长度 (msg)
ptr1 = 申请内存 (len, )
ptr2 = 申请内存 (len, )
调试输出 (ptr2)
写到内存 (msg, ptr1, )
内存_写到内存 (ptr2, 取变量地址 (ptr2), len)
线程_启动 (&线程, ptr1, )
线程_启动 (&线程2, ptr2, )
结束 ()
子程序名返回值类型公开备 注
线程  
参数名类 型参考可空数组备 注
msg文本型
调试输出 (msg)
子程序名返回值类型公开备 注
线程2  
参数名类 型参考可空数组备 注
msg整数型
调试输出 (msg)


i支持库列表   支持库注释   
spec特殊功能支持库



补充内容 (2025-1-19 02:45):
相当于线程会自动转换 如果你参数是文本型,就会自动执行指针到文本 如果你参数是整数型,就会自动执行指针到整数



补充内容 (2025-1-19 03:02):
不对,我说错了虽然代码没问题但是原理给你讲错了,不用看我的,我继续睡觉了
作者: xiaoyu1986    时间: 13 小时前
  
msg = “hello world”
len = 取字节集长度 (到字节集 (msg))
ptr1 = 申请内存 (len, )
ptr2 = 申请内存 (len, )
写到内存 (msg, ptr1, )
内存_写到内存 (ptr2, 取变量数据地址 (msg), len)
线程_启动 (&线程, ptr1, )
线程_启动 (&线程, ptr2, )


i支持库列表   支持库注释   
spec特殊功能支持库


作者: 真IKUN    时间: 13 小时前
xiaoyu1986 发表于 2025-1-19 02:51
[e=0].版本 2
.支持库 spec

我刚起,晚上容易起夜

补充内容 (2025-1-19 02:59):
没来得及看,紧急召回上班了,加急忙三天才放人
作者: LWB666    时间: 22 分钟前
真IKUN 发表于 2025-1-19 02:43
不知道这样是否方便你理解
[e=0].版本 2
.支持库 spec






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