Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我偶然发现了一个关于程序集、DLL 和 EXE 文件之间的确切区别的问题。
以下陈述是否正确?
如果一个 DLL 有一个 main 方法,那么它会变成一个可执行文件吗?(EXE文件)
以下陈述是否正确:如果一个 DLL 有一个 main 方法,那么它就成为一个可执行文件?
这种说法是不正确的。
DLL 和 EXE 文件都使用 PE 文件格式。DLL 和 EXE 之间的区别在于 DLL 在 IMAGE_FILE_HEADER 部分的特性字段中设置了标志 0x2000。
更多详情可在这找到:
窥视 PE:Win32 便携式可执行文件格式之旅 作者: Matt Pietrek