簡體   English   中英

std::cout 如何知道在哪里打印?

[英]How does std::cout know where to print?

當我運行 C++ 程序時,為什么終端 window 會打開, std::cout如何知道它應該打印到該終端?

每個操作系統都有所謂的“標准 output 流”,當您使用 cout 時,c++ 只是告訴操作系統打印到 stream。 操作系統是找出 output 的位置。

編譯器識別出您正在編寫基於控制台的應用程序,並提供適合您正在編寫的程序類型的運行時環境。

啟動新項目時通常會選擇應用程序的類型,但在較舊的編譯器中,控制台類型是唯一可用的類型。 MS-DOS 和 CP/M 提供終端服務,命令行解釋器如“command.com”將是默認程序,可以調用其他程序如“myCppApp.exe”。

終端服務包括輸入 stream(您在鍵盤上鍵入的內容)和 output stream(顯示在屏幕上的內容)。 這些被視為只讀(cin)和只寫(cout)的特殊文件。

C/C++ 通過 cin/cout 提供了對這些標准磁盤操作系統服務的訪問。

當 windows 出現時,人們寧願使用在圖形用戶界面中模擬文本控制台的虛擬控制台 windows,而不是使用文本控制台(您仍然可以在某些計算機啟動時或在 BIOS 設置中看到)。

因此,它是一種提供假裝環境的操作系統和基於您構建控制台應用程序的事實提供運行時代碼的編譯器的組合。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM