windows应用程序和控制台应用程序的区别.doc

上传人:豆**** 文档编号:23969617 上传时间:2022-07-03 格式:DOC 页数:5 大小:118.50KB
返回 下载 相关 举报
windows应用程序和控制台应用程序的区别.doc_第1页
第1页 / 共5页
windows应用程序和控制台应用程序的区别.doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《windows应用程序和控制台应用程序的区别.doc》由会员分享,可在线阅读,更多相关《windows应用程序和控制台应用程序的区别.doc(5页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-datewindows应用程序和控制台应用程序的区别windows应用程序和控制台应用程序的区别windows 应用程序与控制台应用程序的区别从表面上来看:控制台程序运行时是在DOS环境下,或者模拟dos环境运行的程序,运行时一般会启动一个提示符窗口。 而应用程序是Windows环境下的窗口程序。运行时一般会启动一个窗口画面。(例外,病毒木马,就不显示窗口,这决定于是否创建了

2、窗口,或者是否让窗口显示) 但是,实质上,windows应用程序和控制台应用程序的真正区别是,PE文件的结构不同,这点不需要我们去关心,编译器会根据你的选择去构建生成的exe文件的PE结构。 如何告之编译器你的选择?在编译器进行连接的时候,给它一个连接参数: subsystem:windows或者subsystem:console来告诉它。对于大多数编程工具来说一般在“工程-设置-连接”这个表单里面就可以看到这个参数。 但是通常在我们要创建一个新的工程的时候,编译器会让我们事先选择好是创建windows应用程序还是创建控制台应用程序。这个参数的设置就不用我们操心了。补充(你可以不看,有点复杂了

3、):事实上,控制台程序依然还有区别,那就是,16位的可以在DOS操作系统环境中运行的DOS程序(也可以在window运行通常windows会模拟一个dos环境,这时你会程序窗口与平时的提示符窗口明显不一样),和 32位通常只能在windows操作系统中运行的程序。通常32位控制台在DOS下运行,它的PE结构中会给予DOS环境下运行的一个入口点(DOS文件头),这个入口点只有“一行”代码:This program cannot be run in DOS mode 而在32位系统下,操作系统将将查看PE文件头里面的subsystem字段来获得程序将以什么方式运行(windoes或者console

4、)这个字段里面指示了子系统(CUI对应控制台,GUI对应普通程序,驱动程序等没有子系统)32位的控制台程序当然可以调用PAI函数,而16位的DOS程序则不可以调用API函数。再补充关于编译器的一点内容:通常大学里面学习C,c+时,最常用的是VC6.0 TC+3.0 和 TC2.0 VC6.0只能写32位程序。(也就是不能写Dos程序) 而TC+3.0 和 TC2.0这两个编译器是16位的编译器,不能写窗口程序(因为调用不了API(之所以调用不了,固然是编译器的限制,但实质是编译器根本不去使用32位寄存器) 那么,如何才能写一个即可以在DOS运行,又可以在windows下运行的程序(还要带窗口)?那就是要修改exe的PE文件结构,使用人工方法粘贴代码。-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com