tc编译的dos程序和vc编译的win32控制台程序的异同

雨love舞雪

雨love舞雪

2016-02-19 11:50

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是tc编译的dos程序和vc编译的win32控制台程序的异同,一起来学习了解下吧!
它们有着本质的区别:1:一个是16的DOS程序,一个是标准的32的Windows应用程序.前者依然受着64KB内存分段约束,后者无忧无虑地使用着4GB内存地址空间.它们本来就是运行在不同的操作系统上的.别把他们混淆.DOS程序可以运行在windows上是因为有NTVDM.而你把VC生成的控制台程序放到DOS下只会得到!?This program cannot be run in DOS mode.2:如果你是用标准库编写的话,代码应该没多大差异的.但执行时调用库方式却差天共地.前者通过API模拟出一个执行环境,后者是直接调用WIN32 API的.3:TC里面编写程序确实是可以调用中断,可是这个中断不是直接执行的.是NTVDM提供的.在NT的世界里.ring3不太可能直接调用中断的.4:VC6(早期版本就不知道了)不能编写DOS程序,只能编写控制台程序,注意,这只不过是Win32程序只使用控制台这个标准输入输出而已.控制台程序照样可以弹出个窗口,也可以有消息循环,窗口程序照样可以有个控制台. 

展开更多 50%)
分享

猜你喜欢

tc编译的dos程序和vc编译的win32控制台程序的异同

编程语言 网络编程
tc编译的dos程序和vc编译的win32控制台程序的异同

在VC中隐藏控制台程序窗口的实现代码

编程语言 网络编程
在VC中隐藏控制台程序窗口的实现代码

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

模拟简单猜扑克牌大小的 Win32 控制台游戏

编程语言 网络编程
模拟简单猜扑克牌大小的 Win32 控制台游戏

用VC创建不导入任何DLL的WIN32程序

编程语言 网络编程
用VC创建不导入任何DLL的WIN32程序

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

谈谈JAVA程序的反编译

编程语言 网络编程
谈谈JAVA程序的反编译

Windows中控制台程序的全屏模式开关

编程语言 网络编程
Windows中控制台程序的全屏模式开关

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

如何解决无法显示U盘盘符

如何解决无法显示U盘盘符

链接库动态链接库详细介绍

链接库动态链接库详细介绍
下拉加载更多内容 ↓