瀏覽單個文章
nexuse
Major Member
 

加入日期: May 2001
文章: 116
這兩種檔案格式的差異非常大,雖然都是可以執行的檔案,但是不論是執行的方式或是檔案結構都完全不同.
其中最大的差異是在所謂的檔頭的部分,.EXE的檔頭有這一個程式執行時所需的一切條件:包括程式起始位置,記憶體配置,聯結的內部及外部程式模組以及程式出問題或結束時的處理方式等等. 而.COM的檔案可以說就只有最簡單的程式碼,其餘的部分就都交給OS去處理,

另外,.EXE程式又分為DOS,DOS Extender還有WIN16及WIN32這幾種分別,顧名思義,分別是各個OS所專屬的程式格式,區別的方式除了從內部格式區分已外,一個最簡單的方式是看檔頭的前幾碼,如果前幾碼是MZ表示這是DOS的格式,如果是PE(Portable E?),則這是WIN32的程式,如果有呼叫其他DOS Ext的程式碼(最常見的,早期的DOOM II,通常會執行一個叫DOS4GW的DOS EXT),就是一個DOS EXT,
至於WIN 3.1的程式就比較亂,因為3.1本身也是一個DOS EXT,她也是依附在DOS上執行,所以有人稱3.1是一個作業環境,而不是一個作業系統
__________________
台灣環島一週 需時22小時 全長1000公里
高速公路380公里再加上瑞濱到高雄的海岸公路
中間休息4小時
舊 2002-03-04, 09:40 AM #4
回應時引用此文章
nexuse離線中