【发布时间】:2022-01-18 08:53:52
【问题描述】:
我发现我计算机上运行的每个进程在任务管理器上都有 .exe 扩展名。
有人说批处理文件(.bat)和字节码(可能是.class)也是可执行程序,但我认为它们只是由其他可执行程序运行的文件(.bat - cmd.exe,.class - JVM, .cpl - rundll32.exe) 根据我在任务管理器上看到的
“.exe”是 Windows 操作系统中可执行程序的唯一扩展名吗?
【问题讨论】:
-
这完全取决于您如何定义“可执行程序”。如果您询问的是“真正的”/“本机”程序,它们是具有自己的入口点的直接可执行机器代码,由操作系统内核直接加载,那么不,
.exe文件并不孤单:还有更老的.com(DOS 风格)可执行文件,以及加载到其他程序中的程序(即.dll文件)。例如,在 .NET 5 中,所有“exe”程序实际上都编译为由存根.exe加载的.dll文件。 -
请注意:文件扩展名并不表示文件的格式。一个文件可以从“foo.exe”重命名为“foo.html”,它仍然是一个可执行文件
-
碰巧,您是否正在编写一些代码来阻止打开不安全的文件扩展名?
标签: windows exe executable file-extension