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

