Есть ли способ отключить исключения в STL, или EASTL - единственный вариант? - PullRequest
0 голосов
/ 08 декабря 2018

В настоящее время я занимаюсь разработкой кроссплатформенного игрового движка на C ++ 17 и столкнулся с проблемой с исключениями.Ознакомившись с обработкой ошибок в приложениях, критичных к производительности, я решил не использовать исключения в своем проекте, заменив функцию выброса функцией, возвращающей информацию об ошибках, типом, аналогичным std :: Ожидаемый для тривиальных ошибок, и прервавкогда обнаруженная ошибка является фатальной. В настоящее время я борюсь с тем, чтобы сохранить возможность использовать стандартную библиотеку шаблонов с отключенными исключениями (поскольку включение исключений может вызвать проблемы при работе ядра на консолях). Я прочитал, что возможнопревратить все исключения в прерывания, скомпилировав стандартную библиотеку шаблонов с отключенными исключениями, однако я не уверен, является ли это хорошим кроссплатформенным решением (тем более что MSVC кажется очень неэффективным при попытке компиляции без исключений). Одним из решений является использование EASTL вместо этого, однако я бы предпочел работать со стандартом, поскольку он, насколько мне известно, лучше документирован и обновлен до современных cpp .


Есть ли решение моей проблемы, или я вынужден использовать EASTL?

...