首页 新闻 搜索 专区 学院

boost 1.34.1 regex 在vs2008下bug

0
悬赏园豆:50 [已关闭问题]
<P>使用网上流行的方法,用vs2008编译boost 1.34.1(完全编译所有库)后,使用regex,在debug模式下正确,但使用release编译后(编译正确,甚至没有警告),运行时崩溃。同样的代码在vs2005下编译(直接使用boost下regex子项目中的make文件编译库),debug和release模式下均正确。我的代码如下:</P> <P mce_keep="true">LPCSTR szText = "&lt;meta http-equiv=\"Content-Type\" content=\"text/html; charset=unicode\" /&gt;";<BR>boost::regex re("(<META[^>]+charset=)[\\w\\d-]+", boost::regex::icase);<BR>std::string strResult = boost::regex_replace(std::string(szText), re, "\\1gb2312");<BR>std::cout &lt;&lt; (LPCSTR)strResult.c_str() &lt;&lt; "\n";</P> <P mce_keep="true">在执行到boost::regex_replace时出错,可以肯定是boost.regex的bug。其实也算不上bug,毕竟别人没说可以支持vs2008。有达人可以解决这个问题吗?</P>
问题补充: 算了,自己解决了。在boost的mail list上查到了 http://lists.boost.org/boost-users/2007/10/31592.php 按照文中所述,应该是已经解决了,包含在boost 1.35.0的更新中了,下个boost 1.35.0.正在编译,测试完了再把结果补充上来。
红马天下的主页 红马天下 | 初学一级 | 园豆:150
提问于:2008-06-05 10:27
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册