精易论坛
标题: 关于易语言内存的疑问 [打印本页]
作者: 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
)
作者: 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
)
补充内容 (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
)
补充内容 (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,
)
作者: 真IKUN 时间: 13 小时前
我刚起,晚上容易起夜
补充内容 (2025-1-19 02:59):
没来得及看,紧急召回上班了,加急忙三天才放人
作者: LWB666 时间: 22 分钟前
欢迎光临 精易论坛 (https://bbs.125.la/) |
Powered by Discuz! X3.4 |