c++ - 是否可以重新创建使用给定 .dll/.so/.dylib 所需的 C++ 头文件?

标签 c++ dll dylib shared-libraries

是否可以重新创建使用给定 .dll/.so/.dylib 所需的 C++ 头文件?

如果是的话,我们会如何去做呢?

最佳答案

一般来说,没有。头文件中有很多信息(结构布局、数字常量等),这些信息在动态库中是不可用的。

如果库导出“修饰的”C++ 函数名称,您也许能够恢复一些函数参数信息。然而,即使这样,您也无法获得足够的信息来重建有用的头文件。

如果库导出未修饰的名称(使用 extern "C"),那么您就很不走运了。此时您所知道的只是函数名称。

关于c++ - 是否可以重新创建使用给定 .dll/.so/.dylib 所需的 C++ 头文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3437256/

相关文章:

c++ - 来自 Symbian 中的 Xml-parser 的 TDesC8 变量中的 UTF8 编码文本锥

c++ - 将 typdef 函数指针导出到 dll

ios - 如何仅使用普通的 apple id 帐户签署 dylib? (还没有开发者账号)

iphone - 西奥斯 libxml2 : No such file or directory

c++ - 每帧调用 glGetUniformLocation()

c++ - Microsoft ATL 等同于 Borland OleCheck 函数

c++ - 是否可以在 C++03 中定义 'move-and-swap idiom' 等效项

我可以通过检查 DLL 本身来判断使用哪个版本的 Visual Studio 来构建 DLL

java - 在我的 jar 中将要访问的 .dll 放在哪里

xcode9 - 主线程检查器dylib注入(inject)