如何将动态 dll 转换为静态库?

2022-01-11 00:00:00 dll linker c++ static-libraries

我写了一个程序helloworld.exe;它取决于 a.dll.我没有 a.dll 的源代码,它是一个动态 dll.如何将其更改为静态库,以便将其链接到 helloworld.exe?

I write a program helloworld.exe; it depends on a.dll. I don't have the source code of the a.dll, which is a dynamic dll. How can i change it to static library, so I can link it into helloworld.exe?

推荐答案

抱歉,没有直接的办法.DLL 是完全链接的可执行格式文件,其中静态库是收集在一起的单独对象文件的集合.通过一些工作,您可以将静态库转换为 DLL,但反向操作并非易事(委婉地说).

Sorry, but there's no direct way to do so. A DLL is a fully linked executable format file, where a static library is a collection of separate object files collected together. With a little bit of work, you can convert a static library to a DLL, but doing the reverse is non-trivial (to put it mildly).

相关文章