Console和DOS程式的區別

2021-08-21 09:47:20 字數 852 閱讀 2559

不少人把dos程式和console陳旭混為一談,這是不對的。以下是各方面的比較。

編寫方式

在windows環境下的dos box中,或是windows版本的各種c++編譯器套件的整合開發環境(ide)中,利用windows編譯器、聯結器做出來的程式,都是所謂win32程式。如果程式時已main為進入點,呼叫c runtime函式和「不牽扯gui」的win32 api函式,那麼就是乙個console程式,console視窗將成為其標準輸入和輸出裝置(cin 和 cout)。

過去在dos環境下開發的程式,稱為dos程式。它也是以main為程式進入點,可以呼叫c runtime 函式。當然,不可能呼叫win32 api函式。

程式功能

過去的dos程式仍然可以在windows 的dos box中執行(win95 的相容性極高,winnt 的相容性稍差)。

console 程式當然更沒有問題。由於console 程式可以呼叫部分的 win32 api(尤其是 kernel32.dll 模組所提供的那一部分),所有它可以使用windows 提供的各種高階功能。 它可以產生程序(processes),產生執行執行緒(threads)、取得虛擬記憶體的資訊、刺探作業系統的各種資料。但是它不能夠有華麗的外表————因為它不能夠呼叫與 gui 有關的 api 函式。

dos程式和console程式兩者都可以做printf輸出 和 cout 輸出。也都可以做scanf 出入 和 cin 輸入。

可執行檔案格式

dos程式 是所謂的 mz 格式 (mz 是 mark zbikowski 的縮寫,他是dos 系統的一位主要構建者)。

comsole 程式的格式則和所有的win32程式一樣,是所謂的pe格式,意思是它可以被拿到任何win32平台執行。

Console程式和Dos程式的差別

主要有兩方面差別 製造方式 在windows環境下得dos box中,或是在windows版本的各種c 編譯器套件的整合環境 ide 中,利用windows編譯器.聯結器做出來的程式,都是所謂的win32程式.如果程式是以main為進入點,呼叫c runtime函式和不牽扯gui的win32 api...

關於Console程式和win32程式的程式入口

作業系統裝載應用程式後,做完初始化工作就轉到程式的入口點執行。程式的預設入口點由連線程式設定,不同的聯結器選擇的入口函式也不盡相同。在vc 下,聯結器對控制台程式設定的入口函式是 maincrtstartup,maincrtstartup 再呼叫main 函式 對圖形使用者介面 gui 程式設定的入...

01 windows程式和console程式區別

一 windows程式和控制台程式的區別 1.入口點不同 window程式 int stdcall wwinmain hinstance hinstance,hinstance hprevinstance,lpwstr lpcmdline,int ncmdshow 控制台程式 int main 2....