DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: xieqiongxi1
今日帖子: 0
在线用户: 1
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 adamwu (AdamWu) ★☆☆☆☆ -
普通会员
2011/1/7 16:19:47
标题:
TRegEx的内存漏洞 浏览:1375
加入我的收藏
楼主: Create函数中创建ScopeNotifier的位置太靠后,导致如果第一次使用的时候,用Compiled模式创建一个无效的pattern,内部的TPerlRegex会泄露。

不知道有没有人QC过,以前的Bug还有一堆没solve,我都没太大积极性了...
----------------------------------------------
-
作者:
男 ivvn (奔腾的心) ★☆☆☆☆ -
普通会员
2011/1/7 17:31:42
1楼: 这个TRegEx慢得要死,还不如用微软的那个
----------------------------------------------
-
作者:
男 adamwu (AdamWu) ★☆☆☆☆ -
普通会员
2011/1/8 5:57:32
2楼: 慢的原因我可能猜得到:因为PerlRegEx是基于UTF-8的实现,因此每次Match或设定新的Pattern都会涉及到一次Unicode->UTF8的转换...
----------------------------------------------
-
作者:
男 ivvn (奔腾的心) ★☆☆☆☆ -
普通会员
2011/1/8 10:36:50
3楼: 不是,慢的原因是申请了n次内存,进行了n次字符串copy
实际上只要2次字符串copy就行了,还有,匹配时实时编译的,应该优化成预先编译匹配码,再对撞
----------------------------------------------
-
作者:
男 adamwu (AdamWu) ★☆☆☆☆ -
普通会员
2011/1/8 13:37:26
4楼: 好像可以提前compile啊?
事实上也推荐这样做,可以提前发现错误,免得到用的时候才出现exception.
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行60.54688毫秒 RSS