我注意到当我在我的代码中使用xp :: sregex :: compile时,字符串...... \ 3rdparty \ boost-1_58 \ boost / xpressive / detail / core / matcher / regex_byref_matcher.hpp(使用我的本地路径) )出现在二进制代码中,在发布mods中编译。 有没有办法删除它?
答案 0 :(得分:1)
毫无疑问,当代码使用__FILE__
来获取好的断言/异常消息时。
Xpressive唯一直接使用它的地方是regex_error.hpp
:
#define BOOST_XPR_ENSURE_(pred, code, msg) \
boost::xpressive::detail::ensure_(!!(pred), code, msg, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__) \
/**/
你很容易被黑客攻击
#include <boost/xpressive/regex_error.hpp>
#undef BOOST_XPR_ENSURE_
#define BOOST_XPR_ENSURE_(pred, code, msg) \
boost::xpressive::detail::ensure_(!!(pred), code, msg, BOOST_CURRENT_FUNCTION, "(source-hidden)", __LINE__) \
/**/
请记住: