cmd.exe是用什么语言编写的?

Agi*_*gle 4 windows cmd command-prompt

命令提示符,也称为 cmd.exe 或 cmd(以其可执行文件名命名),是 Windows NT、Windows CE、OS/2 和 eComStation 操作系统上的命令行解释器。它与 DOS 和 Windows 9x 系统中的 COMMAND.COM 相对应(也称为“MS-DOS 提示符”),类似于类 Unix 系统上使用的 Unix shell。

资料来源:维基百科

我到处搜索但找不到这个问题的答案。

每个网站都重点关注cmd.exe中使用批处理语言的事实,但我找不到它编写的语言。


所以我的问题是:

在 Windows 中用于编写命令提示符或 cmd.exe 的语言是什么?

Cod*_*ter 5

在文本编辑器中打开该文件时,该文件包含路径onecore\base\cmd\maxpathawarestring.cpp,这表明至少有一个源文件是用 C++ 编写的。

汉斯·帕桑特的附录:

它所依赖的导入使其很可能是 C 和 C++ 的混合体。CRT 函数longjmp,如 、 callocfree表示 C 代码,很可能很古老,可以追溯到 command.com 时代。它显然也使用了C++异常处理,C++是他们最近所有代码开发的首选武器。混合并不罕见。

还有瑞克生

在调试器下,很明显 CMD 的最新添加内容是用 C++ 编写的。x cmd!*::*显示了 C++std命名空间的重要使用

[...]

但 CMD 仍然主要是 C,而不是 C++。其命令和支持函数作为 C 函数实现,例如eExiteChdirParseStatementSearchForExecutableExecPgm。他们还没有将所有这些旧的 C 代码移植到 OOP 设计中。

所以我会混合使用 C 和 C++。