Linux 命令行厉害 其实Windows 的也很强:深入 Windows 控制台
技术沙龙 | 8月25日与多位资深技术大咖探讨小程序电商实战
在这篇,我们开始深入Windows 控制台和命令行,它是什么,你可以用它可以做什么……和它不能做什么!在开始开发Windows NT操作系统的那时候,大概是1989年,那时候还没有GUI(图形化用户界面),也没有桌面操作系统,只有最原始的全屏的命令行界面,类似于MS-DOS的可视化界面越来越重要! Windows GUI 开始开发的时候是在开发团队需要开发一个基于控制台的应用的背景下诞生的!Windows 控制台是第一个Windows NT的GUI应用,并且可以保证兼容运行继续使用已有的Windows应用。 Windows 控制台最初的代码到现在(2018年)已经有30年的历史……古老的东西,事实上,今天还有很多开发者在使用它! 控制台程序能做什么? 就像之前的文章说的,终端的工作其实很简单:
但是,Windows 控制台能做的事情有些不同: Windows控制台是一种传统的Win32可执行文件,虽然它最初是用“C”编写的,但随着团队现代化和模块化控制台的代码库,大部分代码都已正在迁移到现代C++了。
那么,Windows 控制台内部是什么样? 在 Windows 7 之前,Windows 控制台实例托管于核心的客户-服务器运行子系统(Client Server Runtime Subsystem,CSRSS)!然而,在 Windows 7 中,考虑到安全性和可靠性因素,控制台从CSRSS 中剥离出来,组件了一个包含如下二进制文件的新家庭:
控制台当前的内部结构总体结构图就像这样: 控制台的核心组件包含如下内容(自下而上):
Windows控制台API (编辑:ASP站长网) |