I'm interested in knowing how the printf()
function's flush works when the program exits.
Let's take the following code:
int main(int ac, char **av)
{
printf("Hi");
return 0;
}
In this case, how does printf()
manage to flush its buffer to stdout
?
I guess it's platform dependent, so let's take Linux.
It could be implemented using gcc
's __attribute__((dtor))
but then the standard library would be compiler dependent. I assume this is not the way it works.
Any explanations or links to documentation is appreciated. Thank you.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…