Почему разработчики встроенных платформ постоянно пытаются удалить использование исключений C ++
из своих SDK
?
Например, Bada SDK
предлагает следующий обходной путь для использования исключения, который выглядит исключительно некрасиво:
result
MyApp::InitTimer()
{
result r = E_SUCCESS;
_pTimer = new Timer;
r = _pTimer->Construct(*this);
if (IsFailed(r))
{
goto CATCH;
}
_pTimer->Start(1000);
if (IsFailed(r))
{
goto CATCH;
}
return r;
CATCH:
return r;
}
Каковы причины такого поведения?
Насколько далеко насколько я знаю, компиляторы ARM
полностью поддерживают исключения C ++
, и на самом деле это не могло быть проблемой. Что еще? Неужели накладные расходы на использование исключений и раскручивание на платформах ARM
действительно такие БОЛЬШИЕ , чтобы тратить много времени на такие обходные пути?
Может быть, что-то еще я не знаю? 12190] Спасибо.