我正在将BOOST移植到我的TI嵌入式平台,通常在emebeded envrionment中不支持异常,因此我的TI嵌入了platoform。因此,我使用BOOST_EXCEPTION_DISABLE和BOOST_NO_EXCEPTIONS在BOOST CONFIG http://www.boost.org/doc/libs/1_56_0/libs/config/doc/html/index.html
的指导下从BOOST中删除异常但有趣的是,对于bad_weak_ptr,它被声明为从std :: exception派生而没有任何宏:
#if defined(__BORLANDC__) && __BORLANDC__ <= 0x564
# pragma option push -pc
#endif
class bad_weak_ptr: public std::exception
{
public:
virtual char const * what() const throw()
{
return "tr1::bad_weak_ptr";
}
};
#if defined(__BORLANDC__) && __BORLANDC__ <= 0x564
# pragma option pop
#endif
我想问一下,如何从BOOST中删除bad_weak_ptr?为什么BOOST在异常本身已经被切断的情况下不给宏切割异常依赖类?
答案 0 :(得分:0)
从更广泛的意义上讲,我想也许您应该首先考虑为什么要使用Boost。 Boost具有更大的占地面积,并且不适用于小型系统。 BOOST_NO_EXCEPTIONS解决方案与正确的错误传播和处理相去甚远。在我看来,更好的选择是采取Boost - 例外和所有,或使用其他更合适的东西。