为编程爱好者分享易语言教程源码的资源网

网站首页 > 易语言相关 > 易语言例程 正文

易语言内存分配优化小技巧

三叶资源网 2019-03-29 10:46:15 易语言例程 3976 ℃ 17 评论
.版本 2
.支持库 spec

.程序集 程序集1, , , ' 本源码来自三叶资源网(www.sanye.cx)
.程序集变量 字模库, 文本型, , "0"
.程序集变量 字模库2, 字节集, , "0"
.程序集变量 id, 整数型

.子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行
.局部变量 t, 整数型

字模库 = 分割文本 (到文本 (#图片1), #换行符, )
字模库2 = 分割字节集 (#图片1, 到字节集 (#换行符), )

id = 0
t = 取启动时间 ()
.计次循环首 (10, )
    识别失败测试 ()
    识别成功测试 ()
.计次循环尾 ()
调试输出 (id, 取启动时间 () - t)
.如果真 (识别失败测试 () ≠ “识别失败” 或 寻找文本 (识别成功测试 (), “识别失败”, , 假) ≠ -1)
    调试输出 (“异常”)
    结束 ()
.如果真结束

id = 1
t = 取启动时间 ()
.计次循环首 (10, )
    识别失败测试 ()
    识别成功测试 ()
.计次循环尾 ()
调试输出 (id, 取启动时间 () - t)
.如果真 (识别失败测试 () ≠ “识别失败” 或 寻找文本 (识别成功测试 (), “识别失败”, , 假) ≠ -1)
    调试输出 (“异常”)
    结束 ()
.如果真结束

id = 2
t = 取启动时间 ()
.计次循环首 (10, )
    识别失败测试 ()
    识别成功测试 ()
.计次循环尾 ()
调试输出 (id, 取启动时间 () - t)
.如果真 (识别失败测试 () ≠ “识别失败” 或 寻找文本 (识别成功测试 (), “识别失败”, , 假) ≠ -1)
    调试输出 (“异常”)
    结束 ()
.如果真结束
' 本源码来自三叶资源网(www.sanye.cx)
返回 (0)  ' 可以根据您的需要返回任意数值

.子程序 识别图片_原, 文本型
.参数 识别特征, 文本型
.参数 相似度定义, 整数型
.局部变量 s1
.局部变量 s2
.局部变量 字库分割, 文本型, , "0"
.局部变量 待识别组, 文本型, , "0"
.局部变量 识别结果, 文本型
.局部变量 识别相似度
.局部变量 识别逻辑, 逻辑型

重定义数组 (字库分割, 假, 0)
重定义数组 (待识别组, 假, 0)
识别相似度 = 0
识别逻辑 = 假
待识别组 = 分割文本 (识别特征, “|”, )
.如果真 (取数组成员数 (待识别组) = 2)
    .计次循环首 (取数组成员数 (字模库), s1)
        字库分割 = 分割文本 (字模库 [s1], “|”, )
        .如果真 (取数组成员数 (字库分割) = 3)
            .如果真 (待识别组 [1] = 字库分割 [2])  ' 判断图片大小是否一致
                .如果真 (取文本长度 (待识别组 [2]) = 取文本长度 (字库分割 [3]))  ' 判断文本长度是否一致
                    .计次循环首 (取文本长度 (字库分割 [3]), s2)  ' 逐个匹配数据
                        .如果真 (取文本中间 (待识别组 [2], s2, 1) = 取文本中间 (字库分割 [3], s2, 1))
                            识别相似度 = 识别相似度 + 1
                        .如果真结束
                        ' 本源码来自三叶资源网(www.sanye.cx)
                    .计次循环尾 ()
                    .如果真 (识别相似度 ÷ 取文本长度 (字库分割 [3]) × 100 ≥ 相似度定义)
                        识别逻辑 = 真
                        识别结果 = 字库分割 [1]
                        跳出循环 ()
                    .如果真结束

                .如果真结束

            .如果真结束

        .如果真结束
        重定义数组 (字库分割, 假, 0)
        识别相似度 = 0
    .计次循环尾 ()
.如果真结束
.如果 (识别逻辑 = 假)
    返回 (“识别失败”)
.否则
    返回 (识别结果)
.如果结束
返回 (“识别失败”)

.子程序 识别图片_1, 文本型
.参数 识别特征, 文本型
.参数 相似度定义, 整数型
.局部变量 s1
.局部变量 s2
.局部变量 字库分割, 文本型, , "0"
.局部变量 待识别组, 文本型, , "0"
.局部变量 识别结果, 文本型
.局部变量 识别相似度
.局部变量 识别逻辑, 逻辑型
.局部变量 待识别组_字节数组, 字节型, , "0"
.局部变量 字库分割_字节数组, 字节型, , "0"
.局部变量 len, 整数型

重定义数组 (字库分割, 假, 0)
重定义数组 (待识别组, 假, 0)
识别相似度 = 0
识别逻辑 = 假
待识别组 = 分割文本 (识别特征, “|”, )
.如果真 (取数组成员数 (待识别组) = 2)
    .计次循环首 (取数组成员数 (字模库), s1)
        字库分割 = 分割文本 (字模库 [s1], “|”, )
        .如果真 (取数组成员数 (字库分割) = 3)
            .如果真 (待识别组 [1] = 字库分割 [2])  ' 判断图片大小是否一致
                .如果真 (取文本长度 (待识别组 [2]) = 取文本长度 (字库分割 [3]))  ' 判断文本长度是否一致
                    len = 取文本长度 (字库分割 [3])
                    重定义数组 (待识别组_字节数组, 假, len)
                    重定义数组 (字库分割_字节数组, 假, len)

                    写到内存 (待识别组 [2], 取变量数据地址 (待识别组_字节数组), len)
                    写到内存 (字库分割 [3], 取变量数据地址 (字库分割_字节数组), len)

                    .计次循环首 (len, s2)  ' 逐个匹配数据
                        .如果真 (待识别组_字节数组 [s2] = 字库分割_字节数组 [s2])
                            识别相似度 = 识别相似度 + 1
                        .如果真结束

                    .计次循环尾 ()
                    .如果真 (识别相似度 ÷ 取文本长度 (字库分割 [3]) × 100 ≥ 相似度定义)
                        识别逻辑 = 真
                        识别结果 = 字库分割 [1]
                        跳出循环 ()
                    .如果真结束

                .如果真结束

            .如果真结束

        .如果真结束
        重定义数组 (字库分割, 假, 0)
        识别相似度 = 0
    .计次循环尾 ()
.如果真结束
.如果 (识别逻辑 = 假)
    返回 (“识别失败”)
.否则
    返回 (识别结果)
.如果结束
返回 (“识别失败”)

.子程序 识别图片_2, 文本型
.参数 识别特征, 文本型
.参数 相似度定义, 整数型
.局部变量 s1
.局部变量 s2
.局部变量 字库分割, 文本型, , "0"
.局部变量 待识别组, 文本型, , "0"
.局部变量 识别结果, 文本型
.局部变量 识别相似度
.局部变量 待识别组_字节数组, 字节型, , "0"
.局部变量 字库分割_字节数组, 字节型, , "0"
.局部变量 len, 整数型

待识别组 = 分割文本 (识别特征, “|”, 2)
.如果真 (取数组成员数 (待识别组) = 2)
    len = 取文本长度 (待识别组 [2])
    重定义数组 (待识别组_字节数组, 假, len)
    写到内存 (待识别组 [2], 取变量数据地址 (待识别组_字节数组), len)

    .计次循环首 (取数组成员数 (字模库), s1)
        字库分割 = 分割文本 (字模库 [s1], “|”, 3)
        .如果真 (取数组成员数 (字库分割) = 3)
            .如果真 (待识别组 [1] = 字库分割 [2])  ' 判断图片大小是否一致
                len = 取文本长度 (字库分割 [3])
                .如果真 (取文本长度 (待识别组 [2]) = len)  ' 判断文本长度是否一致
                    重定义数组 (字库分割_字节数组, 假, len)
                    写到内存 (字库分割 [3], 取变量数据地址 (字库分割_字节数组), len)

                    识别相似度 = 0
                    .计次循环首 (len, s2)  ' 逐个匹配数据
                        .如果真 (待识别组_字节数组 [s2] = 字库分割_字节数组 [s2])
                            识别相似度 = 识别相似度 + 1
                        .如果真结束

                    .计次循环尾 ()
                    .如果真 (识别相似度 ÷ 取文本长度 (字库分割 [3]) × 100 ≥ 相似度定义)
                        返回 (字库分割 [1])
                    .如果真结束

                .如果真结束

            .如果真结束

        .如果真结束


    .计次循环尾 ()
.如果真结束
返回 (“识别失败”)

.子程序 识别图片_, 文本型
.参数 识别特征, 文本型
.参数 相似度定义, 整数型

.判断开始 (id = 0)
    返回 (识别图片_原 (识别特征, 相似度定义))
.判断 (id = 1)
    返回 (识别图片_1 (识别特征, 相似度定义))
.判断 (id = 2)
    返回 (识别图片_2 (识别特征, 相似度定义))
.默认

.判断结束
返回 (“”)

.子程序 识别失败测试, 文本型
.局部变量 a, 文本型

a = 识别图片_ (“11|0000010000000001110000000111100000110010000001000110000000001000000000010000000000110000000001000000000010000000000100000000001000000000010000000000110000000000000001111111111111111111111”, 95)
.如果真 (a = “识别失败”)
    返回 (“识别失败”)
.如果真结束
a = a + 识别图片_ (“13|00001111100000001111111100001100000110001000000001000100000000010110000000011001000000001100110000000111001110011011100011111000100000000000110000000000011000000000001100000000001100011100001110000111111110000000011100000”, 95)
.如果真 (寻找文本 (a, “识别失败”, , 假) ≠ -1)
    返回 (“识别失败”)
.如果真结束
a = a + 识别图片_ (“12|000000011100000000011110000000011100000001101100000001001100000010001100000110001100001100001100001000001100011000001100110000001100111111111111111111111111000000001100000000001100000000001100000000001100”, 95)
.如果真 (寻找文本 (a, “识别失败”, , 假) ≠ -1)
    返回 (“识别失败”)
.如果真结束
a = a + 识别图片_ (“13|0000000011000000000011110000000001111000000001011000000001100110000001100011000000100011000000100001100000110000110000010000001000010000000100011111111111111111111111111000000000100000000000010000000000001000”, 95)
.如果真 (寻找文本 (a, “识别失败”, , 假) ≠ -1)
    返回 (“识别失败”)
.如果真结束
返回 (a)

.子程序 识别成功测试, 文本型
.局部变量 a, 文本型

a = 识别图片_ (“12|000001100000000011100000000111100000011101100000111001100000010001100000000001100000000001100000000001100000000001100000000001100000000001100000000001100000000001100000000001100000111111111111111111111111”, 95)
.如果真 (a = “识别失败”)
    返回 (“识别失败”)
.如果真结束
a = a + 识别图片_ (“13|00001111100000011111111100011100000111001100000001101110000000110111000000011011100000001110110000001111011110001101100111111100110000001000110000000000011000000000001100110000001110011100001110000111111110000000111100000”, 95)
.如果真 (寻找文本 (a, “识别失败”, , 假) ≠ -1)
    返回 (“识别失败”)
.如果真结束
a = a + 识别图片_ (“12|111111111100111111111100010000000000010000000000110000000000110011111000011111111100111000001110010000000110000000000111000000000111000000000011000000000110110000000110111000001110011111111000000111100000”, 95)
.如果真 (寻找文本 (a, “识别失败”, , 假) ≠ -1)
    返回 (“识别失败”)
.如果真结束
返回 (a)

@流星暴雨

文件下载


来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

已有17位网友发表了看法:

  • 易语言教程站

    易语言教程站  评论于 [2019-08-01 11:27:35]  回复

    易语言加了内存优化可内存还是不停的增加

  • 易语言TV

    易语言TV  评论于 [2019-11-01 18:26:12]  回复

    易语言内存自动优化

  • 易语言

    易语言  评论于 [2020-03-05 11:21:50]  回复

    优化内存+易语言

  • nodejs

    nodejs  评论于 [2020-08-21 17:40:59]  回复

    易语言优化内存

  • yiyuyan

    yiyuyan  评论于 [2021-05-19 15:50:55]  回复

    易语言程序优化

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
HttpWatch破解版计算剩余时间远程端口2023-01-23 14:42:10登录注册美化界面HttpProxy人工智能获取登陆QQ自媒体图形控件易语言最新版Vstart注册表HttpWatchckplayer示例文字识别云外归鸟引流反跟踪HP-Socket2
最新评论