當前位置:
首頁 > 最新 > 現在還有多少人在玩DOS?你知道EXE文件和COM文件的區別嗎

現在還有多少人在玩DOS?你知道EXE文件和COM文件的區別嗎

有多少人還記得當年在MS-DOS下是怎麼安裝和啟動程序或遊戲的?不像現在,在電腦或手機上用滑鼠或手指一點就可以了。

那時候操作很麻煩的,基本上都是這樣啟動程序的:電腦啟動後,等命令行的游標在那閃的時候就可以輸命令了,先輸盤符A:或者C:回車進到某個盤裡,再DIR/W看看盤裡有什麼文件夾和文件,找到要找的文件夾就CD文件夾名進去,再DIR一番,找到要啟動的文件了(這種文件是看這些文件),就直接輸文件名(或者帶後綴),回車,就啟動程序了。

但是找到這些可執行文件並不是那麼容易。很多軟體安裝目錄里都包含多個可執行文件,有BAT後綴的,還有COM後綴的,還有EXE後綴的,到底是哪一個。最穩妥的辦法是查看README.TXT文件,或者靠經驗操作。

一般情況下它是一個BAT文件,這是因為BAT文件只是一組存放在文本文件中的DOS命令,或者說是一個DOS腳本。在BAT批處理文件里我們可以寫代碼實現按一定的順序進行相應的設置或者運行相應的實際可執行文件,這能讓我們在DOS下省不少事。那麼實際的可執行文件又是哪個?在DOS時代比較常用的就是COM和EXE文件。

COM是COMMAND(命令)的簡稱,是原始程序文件,是一個繼承自Digital Research的CP/M操作系統,它實際上是86-DOS開始的基礎。微軟從西雅圖計算機產品公司購買86-DOS,對其做了不少的改進,但COM文件的基礎保持不變。COM文件不僅僅是一種特定的格式,它實際上只是一個內存映像。 DOS系統只需讀取文件內容,將其插入固定地址的內存中,然後運行16位機器代碼。這個基本方法意味著文件大小限制為64KB,這對於在CP/M下運行的80年代早期的大多數程序來說都很好,但是由於IBM-PC兼容機提供了額外的內存,因此要求超出了這個限制。

於是又出現了一種新格式的可執行文件,這就是我們最熟悉的EXE文件,它彌補了COM文件的不足。最初這些可執行文件基於MZ格式(在Microsoft編碼器 Mark Zbikowski之後)。在它的最基本級別,這意味著EXE文件的標題以字母MZ開頭,但也定義了文件的結構。可執行文件允許更大的程序,特別是當DOS擴展程序投入使用時,也為WINDOWS甚至OS / 2奠定了使用類似結構的基礎,所有這些都捆綁在EXE擴展名下。這個新的可執行文件也在MS-DOS 4下運行,其中隱藏了NE(代表New Executable)的ASCII標識符,以及點陣圖圖形等資源,所有這些都包含在一個不錯的包中(玩破解的小夥伴們都比較熟悉)。當然,即使在今天,我們仍然在Windows中使用它的衍生物。這裡我們也看出COM和EXE文件之間的界限模糊。像Edit.com甚至Command.com這樣的DOS實用程序的大小正在增加,因此需要新的規則來允許它們的大小超過64KB。在程序載入器中增加靈活性意味著COM和EXE文件可以互改後綴,但仍可正常運行。

這裡還有一點需要說明一下,在MS-DOS系統中,這三種可執行文件格式的優先順序是按這個順序排的:COM>EXE>BAT。意思就是,我們在命令行中輸入文件名,不帶後綴的話,會執行COM文件,如果沒有COM文件,就會執行EXE文件,最後才是BAT。如果有同名不同後綴的文件,直接輸文件名不帶後綴就容易出錯。遇到這種情況,運行程序帶後綴就可以了。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT星球 的精彩文章:

曾經是電腦標配的鎖,為什麼後來沒有了?

TAG:IT星球 |