首页 文章

cmd.exe用哪种语言编写?

提问于
浏览
1

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

资料来源:Wikipedia

我到处搜索但无法得到这个问题的答案 .

每个网站都关注batch languagecmd.exe中使用的事实,但我找不到它所用的语言 .


所以我的问题是:

What is the language of command-prompt or cmd.exe in Windows ?

1 回答

  • 4

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

    来自Hans Passant的附录:

    它依赖的进口使它可能是C和C的混合物 . CRT函数如longjmp,calloc,free表示C代码,可能很古老,可以追溯到command.com时代 . 它显然也使用C异常处理,C是所有最近代码开发的首选武器 . 混合并不罕见 .

    eryksun

    在调试器下,很明显最近添加的CMD是用C语言编写的 . x cmd!* :: *显示了对C std命名空间的重要使用[...]但是CMD仍然主要是C,而不是C . 它的命令和支持函数实现为C函数,如eExit,eChdir,ParseStatement,SearchForExecutable和ExecPgm . 他们没有将所有这些旧的C代码移植到OOP设计中 .

    所以我会选择C和C的混合 .

相关问题