最近在项目中遇到一个问题,4路并发执行解析操作,内存慢慢从10M增加到100M以上。VLD跟踪后定位到deelx的replace处。
TCHAR* strReturn = regexp.Replace(p_EmailInfo._strHtmlText.c_str(), strwOutput.c_str())。
deelx进行replace操作后,应执行releaseString(strReturn)来释放在replace申请的内存。
添加以下代码:
CRegexpT<TCHAR>::ReleaseString(strReturn);