我很想知道當程序退出時printf()
函數的flush是如何工作的。程序退出時的printf flush
讓我們以下面的代碼:
int main(int ac, char **av)
{
printf("Hi");
return 0;
}
在這種情況下,如何printf()
管理刷新其緩衝區stdout
?
我想這是平臺依賴的,所以我們來看看Linux吧。
它可以使用gcc
的__attribute__((dtor))
實現,但標準庫將依賴於編譯器。我認爲這不是它的工作方式。
讚賞任何解釋或指向文檔的鏈接。謝謝。
+1,好點,_within main,返回expr相當於exit(expr)._ –