精易论坛

标题: 易语言写支持库 内存溢出的bug [打印本页]

作者: 咸鱼666    时间: 2022-7-1 09:17
标题: 易语言写支持库 内存溢出的bug
最近想用yyjson改支持库,期间发现了一些bug,
1.不定时崩溃,好不容易找到解决办法,测试下来不崩溃了(应该是吧?)
2.内存溢出。只要用到支持库写的类类型,就会内存溢出,100W次循环至少40M,感觉像是销毁那块没处理好, 但是不知道怎么改,数据类型没有问题。
测试了论坛几种都不行,附件的例子是SalHe的demo,直接生成动态库测试,就有问题,易写易库也有问题。
目前自己给自己写了四五个支持库,写类这块是最容易无缘无故崩的,还有可能有兼容问题,大部分能慢慢解决, 这个内存溢出解决不了,来个大佬研究下吧,如果解决不了,yyjson改支持库应该是放弃了,这种肯定会高强度使用的东西,肯定要稳定优先了


补充内容 (2022-7-7 20:55):
SalHe大佬已回复解决办法,看楼下

可行性研究.zip

442.38 KB, 下载次数: 34, 下载积分: 精币 -2 枚


作者: maozaiba    时间: 2022-7-1 10:14
题外话,不喜欢支持库,真的,调用库里的一个功能在编译时会打包整个库
作者: 桑感哥    时间: 2022-7-1 11:19
还是模块用着舒服
作者: Siempre    时间: 2022-7-1 11:36
我也说个题外话 不到万不得已 坚决懒得导入第三方支持库  即便万不得已的情况下优先放弃用易语言处理。。
作者: 咸鱼666    时间: 2022-7-1 11:49
maozaiba 发表于 2022-7-1 10:14
题外话,不喜欢支持库,真的,调用库里的一个功能在编译时会打包整个库

如果只是建制表还是挺香的
作者: 山川    时间: 2022-7-1 13:40
易写的支持库 有没有办法自动补全参数? 比如 输入命令() 变成→ 命令A( , , 真),自动补全真
作者: 王摇摆    时间: 2022-7-1 13:46
感谢分享
作者: 咸鱼666    时间: 2022-7-1 14:10
山川 发表于 2022-7-1 13:40
易写的支持库 有没有办法自动补全参数? 比如 输入命令() 变成→ 命令A( , , 真),自动补全真 ...

可以      
作者: 醉卧美人膝    时间: 2022-7-2 08:33
来看看
作者: zhtttylyl    时间: 2022-7-2 14:49
66666666666666666666
作者: 深圳梦    时间: 2022-7-2 21:12
支持开源~!感谢分享
作者: pojiezhe    时间: 2022-7-3 11:22
支持开源~!感谢分享
作者: 治愈勇者    时间: 2022-7-4 14:35
谢谢大佬分享 支持支持
作者: 咸鱼666    时间: 2022-7-7 20:54
SalHe大佬已回复,两种办法修复:
1.把类结构_保存中CopyMemory后面加一句功能_释放内存 (Addr)
2.手动向易语言传递给支持库的【首参数信息指针】中指向类自身(类似this)的地址区域中按对类型的声明写入相应的成员。

我测试方法1有效,2没试,还没研究该怎么直接写成员
作者: 猛少    时间: 2022-7-27 00:32
         支持开源~!感谢分享




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