sha*_*oth 11 windows visual-c++
最近我在编译本机C++ DLL项目的同时打开了由Visual Studio 9生成的.dll文件,并且惊讶地看到"该程序无法在DOS模式下运行"文本开头附近.
为什么在.dll文件中有这个文本?
Portable Executable 格式规范声明如下:
MS-DOS 存根是在 MS-DOS 下运行的有效应用程序。它位于 EXE 图像的前面。链接器在此处放置一个默认存根,它会打印出消息“此程序不能在 DOS 模式下运行”。当图像在 MS-DOS 中运行时。用户可以使用 /STUB 链接器选项指定不同的存根。
在位置 0x3c,存根具有到 PE 签名的文件偏移量。此信息使 Windows 能够正确执行映像文件,即使它具有 MS-DOS 存根。在链接期间,此文件偏移量位于位置 0x3c。
归档时间: |
|
查看次数: |
24175 次 |
最近记录: |