Чего это стандартные файлы -- лишние? Во-первых они по стандарту
должны быть. Просто вот должны и всё. Их кто-то может попытаться
использовать. Что-нибудь в stderr записать. По крайней мере упасть
не должно. Вообще stdout/stderr в контроллере удобно использовать
для ведения лога (а отлаживать как -- по светодиодику что ли?) В
более сложных и логгер более сложный (см. ниже)... С -fno-exception исключений у тебя вообще нет. Тот код, что их использует -- не скомпилируется. В таком коде часто для поддержки работы без исключений будет тупо зваться abort(), пример:
#include <stdexcept>
int main()
{
#if __EXCEPTIONS
throw std::runtime_error("fatal error");
#else
fprintf(stderr, "fatal error\n");
abort();
#endif
return 0;
}
Можно убрать -fno-exceptions здесь: https://coliru.stacked-crooked.com/a/c564fdaa4947deb9
Ещё кстати std::terminate через std::set_terminate перехватывается (по-умолчанию именно abort).
Вообще на мой взгляд отключение исключений -- кроилово, когда выгребают последние проценты. Не уверен, что оправданное, а то потом будут тёплые ламповые истории про "последний байт" (https://habr.com/ru/post/27055/)
Дебажная сборка на самом деле мало интересна. Обычно всё кончается "логи тормозят программу -- выключите логи и тестируйте релизную сборку". И хорошо если от QA, a вообще не из поля прилетит баг: мол сбрасывается. И надо будет "угадать баг по скриншоту", причём в кратчайшие сроки, потому, что у заказчика массовый циклический ребут на тысячах устройств. Поэтому ассерты и какая-то диагностика именно в релизной сборке -- критически важны.
http://caxapa.ru/1019675
Циклический ребут -- классика жанра. Бутлоадер должен уметь функцию обнаружения проблемы, остановки на пятой попытке и перепрошивки с помощью не удаляемого и не обновляемого железно-работающего бутлоадера с синим экраном (мол включите в интернет и ждите)
Про циклические ошибки и ребуты:
http://caxapa.ru/902079?todo=full&hilite=%D1%86%D0%B8%D0%BA%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8
О логгере, разное, может кому будет полезным:
http://caxapa.ru/939437
http://caxapa.ru/963995
http://caxapa.ru/1005253
http://caxapa.ru/957696
http://caxapa.ru/958455
http://caxapa.ru/1012909
http://caxapa.ru/572775
http://caxapa.ru/401461