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

时间:2013-03-25 15:43:07

标签: c#

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

以下陈述是否正确?

  

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

1 个答案:

答案 0 :(得分:12)

  

以下语句是否正确:如果DLL具有main方法,那么它将成为可执行文件吗?

该陈述不正确。

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

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

Peering Inside the PE: A Tour of the Win32 Portable Executable File Format by Matt Pietrek