首页 > 编程知识 正文

如何创建控制台应用程序,win10控制台

时间:2023-05-04 19:22:32 阅读:59154 作者:1681

乍一看,控制台程序在运行模拟DOS或DOS环境运行的程序时通常会启动提示窗口。 该APP应用程序是一个Windows环境窗口程序。 运行时通常会启动窗口画面。 例如,病毒木马不显示窗口。 这取决于是否创建了窗口,或者是否显示窗口。

但是,实际上windows APP应用程序和控制台APP应用程序的真正区别在于PE文件的结构不同,无需在意编译器根据您的选择生成的exe文件的PE结构。

怎么告诉编译器你的选择? 编译器连接时提供连接参数subsystem:windows或subsystem :控制台。 大多数编程工具通常在名为“工程-设置-连接”的表单中显示此参数。

但是,通常在创建新项目时,编译器会提前选择是创建windows APP应用程序还是创建控制台APP应用程序。 这个参数的设定我们不需要担心。

实际上,控制台程序仍然存在差异。 它可以在16位DOSOS环境中运行的DOS程序和在窗口中运行的常规windows模拟DOS环境。 此时,程序窗口与普通的提示窗口明显不同,是只能在32位普通windowsOS操作系统上运行的程序。 32位控制台通常是在DOS中运行的PE结构,提供在DOS环境中运行的入口点。 (只有“一行”代码“thisprogramcannotberuninDOSmode”是名为dos文件标头的入口点。

在32位系统上,操作系统会查看PE文件标题中的subsystem字段,以了解程序的工作方式(windoes或console )。 在该字段中,子系统(CUI对应于控制台,GUI对应于常规程序,驱动程序等不具有子系统) 32位控制台程序当然可以调用API函数,但16位DOS步骤

补充一点,在大学学习Cc时,通常最常用的是VC6.0TC 3.0和TC2.0 VC6.0,它们只能编写32位程序。 也就是说,不能写Dos程序。 另一方面,TC 3.0和TC2.0这两个编译器是16位编译器,不能编写窗口程序。 不能调用API是编译器的限制,但实际上编译器完全不使用32位寄存器。

那么,如何编写在DOS和windows上都可以运行的程序呢? 那就是修改exe的PE文件结构,人工粘贴代码。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。