精易论坛

标题: 易语言返回值和参数结构的心得 [打印本页]

作者: 大漠小鸟    时间: 2025-1-18 01:35
标题: 易语言返回值和参数结构的心得
  
子程序名返回值类型公开备 注
测试  
变量名类 型静态数组备 注
缓冲区文本型 
缓冲区 = 取空白文本 (1024)  ' 假设堆址为123
返回 (缓冲区)  ' 返回前会重新分配内存,将返回值拷贝到新内存,然后再释放掉缓冲区 ' 包括字节集、和其它非基础类型
' 还有自定义数据结构,比如调用某个API,要传递一个自定义数据结构,易语言也会先分配一块内存,将结构里的数据复制过去,再传递
' 对于性能要求很高的场景,可以考虑使用HeapAlloc来分配内存
' 用汇编来直接返回分配的内存堆址,拒绝中间商



作者: 真IKUN    时间: 2025-1-18 12:56
学到了,谢谢大佬分享

作者: lintest    时间: 2025-1-18 13:21

作者: z645384106    时间: 2025-1-18 14:09
学到了,谢谢大佬分享
作者: 艺压当行人    时间: 2025-3-27 05:07
为什么要这么设计呢?返回前复制堆上的数据,奇怪
作者: 萧楚楠    时间: 2025-4-27 09:00
没看明白楼主先生,请问您的意思是
易语言的   返回(数据)
执行流程是,先将数据拷贝一份,然后将原版数据释放掉,将拷贝的内存地址放到返回值地址对么?
也就是易语言多操作了一次数据拷贝
所以您推荐用汇编
mov eax,数据的内存地址
leave
retn 4




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