Мне интересно узнать, как работает функция flash printf()
, когда программа завершает работу.
Возьмем следующий код:
int main(int ac, char **av)
{
printf("Hi");
return 0;
}
В этом случае, как printf()
удается сбросить свой буфер до stdout
?
Я думаю, что это зависит от платформы, поэтому пусть Linux.
Он может быть реализован с помощью gcc
__attribute__((dtor))
, но тогда стандартная библиотека будет зависимой от компилятора. Я предполагаю, что это не так, как это работает.
Любые объяснения или ссылки на документацию приветствуются. Спасибо.