【问题标题】:DEF file format for Windows __stdcall DLLs? (*.def -> lib.exe -> *.lib)Windows __stdcall DLL 的 DEF 文件格式? (*.def -> lib.exe -> *.lib)
【发布时间】:2012-03-06 13:13:17
【问题描述】:

我正在尝试为某些 Microsoft DLL 重新创建导入库 (.lib)(我想删除一些函数)。可以通过在 def 文件上使用 lib.exe 来为 dll 创建 lib 文件。但是,对于 __stdcall 函数,似乎很难做到这一点。

如何做到这一点?注意:我可以访问 dll 和原始 lib 文件。

【问题讨论】:

  • 如果你有 .pdb 文件,你可以这样做。您可以从 Microsoft 符号服务器获得。将其复制到与 .dll 相同的文件夹中,Dumpbin.exe /exports 将显示原始名称,.def 样式。否则,这听起来像是付出了很多努力却收效甚微。如果您想替换一个导出,那么只需在导入之前链接您自己的版本 .lib

标签: c++ visual-c++ dll function


【解决方案1】:

您陷入了提出问题而不是描述问题的陷阱。您不能从 EXE 可靠地创建 LIB(因为它没有适当的装饰)。但幸运的是,这并不是你真正想要做的。

您真正想做的就是从 LIB 中删除对象。 Use the /REMOVE option.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-26
    • 1970-01-01
    • 2011-09-19
    • 1970-01-01
    • 1970-01-01
    • 2012-01-30
    • 2010-09-06
    相关资源
    最近更新 更多