tc編譯的dos程序和vc編譯的win32控制臺程序的異同
更新時間:2007年08月07日 09:59:27 作者:
它們有著本質(zhì)的區(qū)別:1:一個是16的DOS程序,一個是標準的32的Windows應(yīng)用程序.前者依然受著64KB內(nèi)存分段約束,后者無憂無慮地使用著4GB內(nèi)存地址空間.它們本來就是運行在不同的操作系統(tǒng)上的.別把他們混淆.DOS程序可以運行在windows上是因為有NTVDM.而你把VC生成的控制臺程序放到DOS下只會得到!?This program cannot be run in DOS mode.2:如果你是用標準庫編寫的話,代碼應(yīng)該沒多大差異的.但執(zhí)行時調(diào)用庫方式卻差天共地.前者通過API模擬出一個執(zhí)行環(huán)境,后者是直接調(diào)用WIN32 API的.3:TC里面編寫程序確實是可以調(diào)用中斷,可是這個中斷不是直接執(zhí)行的.是NTVDM提供的.在NT的世界里.ring3不太可能直接調(diào)用中斷的.4:VC6(早期版本就不知道了)不能編寫DOS程序,只能編寫控制臺程序,注意,這只不過是Win32程序只使用控制臺這個標準輸入輸出而已.控制臺程序照樣可以彈出個窗口,也可以有消息循環(huán),窗口程序照樣可以有個控制臺.
相關(guān)文章
c++之解決char轉(zhuǎn)string時出現(xiàn)的亂碼問題
這篇文章主要介紹了c++之解決char轉(zhuǎn)string時出現(xiàn)的亂碼問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08
Qt使用windeployqt工具實現(xiàn)程序打包發(fā)布方法
本文主要介紹了Qt使用windeployqt工具實現(xiàn)程序打包發(fā)布方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11
C++利用Socket實現(xiàn)主機間的UDP/TCP通信
這篇文章主要為大家詳細介紹了C++如何利用Socket實現(xiàn)主機間的UDP/TCP通信功能,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2023-01-01
C語言中單鏈表(不帶頭結(jié)點)基本操作的實現(xiàn)詳解
鏈表是一種物理存儲結(jié)構(gòu)上非連續(xù)、非順序的存儲結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過鏈表中的指針鏈接次序?qū)崿F(xiàn)的。本文主要和大家聊聊C語言中單鏈表(不帶頭結(jié)點)的基本操作,感興趣的小伙伴可以了解一下2022-11-11

