EXE只是一个带有main方法的DLL

本文关键字:main 方法 DLL 一个 EXE | 更新日期: 2023-09-27 18:05:51

我偶然发现了一个问题,关于程序集,DLL和EXE文件之间的确切区别。

下面的语句正确吗?

如果一个DLL有一个main方法,那么它就变成了一个可执行文件?(EXE)

EXE只是一个带有main方法的DLL

下面的语句是正确的:如果一个DLL有一个主方法,那么它成为一个可执行文件?

那个陈述是不正确的。

DLL和EXE文件都使用PE文件格式。DLL和EXE之间的区别在于DLL在IMAGE_FILE_HEADER部分的特征字段中设置了0x2000标志。

更多细节可以在这里找到:

窥视PE内部:Win32可移植可执行文件格式之旅作者:Matt Pietrek