开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 4326|回复: 11
打印 上一主题 下一主题
收起左侧

[易语言纯源码] 字符串匹配——Sunday算法

[复制链接]
结帖率:100% (11/11)
跳转到指定楼层
发表于 2018-11-13 22:33:26 | 只看该作者 回帖奖励 |正序浏览 |阅读模式   陕西省渭南市
分享源码
界面截图: -
是否带模块: 纯源码
备注说明: -
比较了一下.比系统寻找文本快四倍,好象没多大用.系统的其实也很快了.
除非你喜欢在几百兆的文件里寻找...

  
子程序名返回值类型公开备 注
文本_搜索文本_汇编整数型 
参数名类 型参考可空数组备 注
参数一文本型
参数二文本型
变量名类 型静态数组备 注
局_长度1整数型 
局_长度2整数型 
局_长度1 = 汇编_取文本长度_SSE2 (参数一)
局_长度2 = 汇编_取文本长度_SSE2 (参数二)
置入代码 ({ 139, 69, 8, 139, 48, 139, 85, 252, 1, 242, 139, 69, 12, 139, 56, 139, 77, 248, 137, 200, 81, 87, 243, 166, 41, 200, 95, 89, 57, 200, 116, 43, 1, 198, 81, 87, 82, 138, 68, 14, 255, 141, 92, 15, 255, 137, 218, 56, 3, 116, 3, 75, 226, 249, 41, 218, 1, 214, 90, 95, 89, 141, 4, 14, 57, 208, 127, 2, 235, 204, 49, 192, 72, 235, 15, 139, 69, 8, 139, 0, 70, 41, 198, 139, 85, 248, 41, 214, 137, 240, 201, 194, 8, 0 })
返回 (0)
子程序名返回值类型公开备 注
汇编_取文本长度_SSE2整数型 整改者:落
参数名类 型参考可空数组备 注
参_文本通用型文本变量或文本指针
置入代码 ({ 139, 69, 8, 139, 0, 133, 192, 116, 59, 80, 137, 193, 102, 15, 239, 192, 131, 225, 15, 131, 224, 240, 102, 15, 111, 8, 102, 15, 116, 200, 102, 15, 215, 209, 211, 234, 211, 226, 15, 188, 210, 117, 20, 131, 192, 16, 102, 15, 111, 8, 102, 15, 116, 200, 102, 15, 215, 209, 15, 188, 210, 116, 236, 89, 41, 200, 1, 208, 201, 194, 4, 0 })
' mov eax,dword ptr ss:[ebp+0x8]
' mov eax,dword ptr ds:[eax]
' test eax,eax
' je end_
' push eax
' mov ecx,eax
' pxor xmm0,xmm0
' and ecx,0xF
' and eax,0xFFFFFFF0
' movdqa xmm1,xmmword ptr ds:[eax]
' pcmpeqb xmm1,xmm0
' pmovmskb edx,xmm1
' shr edx,cl
' shl edx,cl
' bsf edx,edx
' jne Label_a
' Label_b:
' add eax,0x10
' movdqa xmm1,xmmword ptr ds:[eax]
' pcmpeqb xmm1,xmm0
' pmovmskb edx,xmm1
' bsf edx,edx
' je Label_b
' Label_a:
' pop ecx
' sub eax,ecx
' add eax,edx
' end_:
' leave
' ret 0x4
返回 (0)

评分

参与人数 3好评 +3 精币 +5 收起 理由
static101 + 1 + 2 新技能已get√
唯美主义 + 1 + 1 新技能已get√
超级の赛亚人 + 1 + 2 新技能已get√

查看全部评分


结帖率:97% (31/32)

签到天数: 22 天

10
发表于 2020-3-12 09:53:19 | 只看该作者   福建省福州市
本帖最后由 cf2006a 于 2020-3-12 09:59 编辑

没有设计net数组用loop 循环找字符串是否存在 很耗时
回复 支持 反对

使用道具 举报

9
发表于 2019-8-15 18:44:08 | 只看该作者   日本
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
8
发表于 2019-6-13 02:54:54 高大上手机用户 | 只看该作者   广东省广州市
我刚好语言到6g的文件里找,不知道行不行,如果有高手写一个布隆过滤器就好了
回复 支持 反对

使用道具 举报

结帖率:78% (7/9)

签到天数: 11 天

7
发表于 2018-11-23 15:00:31 | 只看该作者   江西省吉安市
jr21066 发表于 2018-11-22 17:51
是在参数一中寻找包含参数二的文本的开始位置,就是搜索字符串.搜索文本的意思.

这个应该就是寻找文本的意思了, 不过看起来应该更快

点评

是.大文件可以体现出来一些区别   陕西省渭南市  发表于 2018-11-23 19:18
回复 支持 反对

使用道具 举报

结帖率:100% (11/11)

签到天数: 21 天

6
 楼主| 发表于 2018-11-22 17:51:41 | 只看该作者   陕西省渭南市
wanliyingxiap 发表于 2018-11-22 15:00
我想问下, 文本搜索文本, 是不是寻找文本中指定文本的意思。 两个参数代表什么意思

是在参数一中寻找包含参数二的文本的开始位置,就是搜索字符串.搜索文本的意思.
回复 支持 反对

使用道具 举报

结帖率:78% (7/9)

签到天数: 11 天

地下
发表于 2018-11-22 15:00:58 | 只看该作者   江西省吉安市
我想问下, 文本搜索文本, 是不是寻找文本中指定文本的意思。 两个参数代表什么意思
回复 支持 反对

使用道具 举报

地板
发表于 2018-11-16 10:51:01 | 只看该作者   北京市北京市
谢谢分享谢谢
回复 支持 反对

使用道具 举报

结帖率:0% (0/2)
板凳
发表于 2018-11-15 20:05:42 | 只看该作者   内蒙古自治区巴彦淖尔市
感谢分享,对我很有益,谢谢咯
回复 支持 反对

使用道具 举报

结帖率:86% (12/14)

签到天数: 7 天

沙发
发表于 2018-11-14 20:53:10 | 只看该作者   山东省德州市
用的是汇编呢
回复 支持 反对

使用道具 举报

楼主
发表于 2018-11-14 10:37:29 | 只看该作者   江西省南昌市
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表