悬赏园豆:50
[已关闭问题]
<P>使用网上流行的方法,用vs2008编译boost 1.34.1(完全编译所有库)后,使用regex,在debug模式下正确,但使用release编译后(编译正确,甚至没有警告),运行时崩溃。同样的代码在vs2005下编译(直接使用boost下regex子项目中的make文件编译库),debug和release模式下均正确。我的代码如下:</P>
<P mce_keep="true">LPCSTR szText = "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=unicode\" />";<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 << (LPCSTR)strResult.c_str() << "\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