什么是 64 位 COM 文件?

use*_*686 3 windows windows-7 64-bit

我在 64 位 Windows\System32 文件夹中看到一些 COM 文件:

chcp.com
diskcomp.com
diskcopy.com
format.com
mode.com
more.com
tree.com
Run Code Online (Sandbox Code Playgroud)

有没有人知道:

  • 为什么这些有 COM 扩展名?(即它们真的是 COM 文件吗?)
  • 他们的文件格式是否记录在案?(它们是否与 64 位 EXE PE 文件相同?)

Kel*_*ari 5

COM 文件是 MS-DOS 时代的产物。它们在当时是有意义的,但现在它们已经过时了。今天的 COM 文件实际上是 EXE,但保留 COM 扩展名以向后兼容旧的 DOS 和 Windows 程序。

  • 保留了 .COM 扩展名,因此如果旧程序调用 command.com,它仍然可以运行。 (3认同)
  • 当它们是 .EXE 时,保留 .COM 扩展名是没有意义的。.COM 文件是普通的二进制文件,而 .EXE 具有标头和附加信息(与所有现代可执行格式一样)。因此 MS-DOS 将永远无法执行这些新的 .COM 文件。 (2认同)