我偶然发现了一个关于程序集,DLL和EXE文件之间确切区别的问题。
以下陈述是否正确?
如果DLL有一个main方法,那么它会变成可执行文件吗? (EXE)
答案 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