【发布时间】:2021-08-05 11:16:57
【问题描述】:
嗨,我知道这个问题听起来很奇怪,但是突然出现了 就是这么一个实用程序,我没找到。
是否有从静态库生成标头的程序或脚本?
例如,有一个函数 foo,我知道它位于为特定架构编译的静态库中,无需调用系统调用和它可能依赖的其他东西,只是计算某些东西并返回结果的代码。如果有脚本,它可以将已经编译好的代码提取出来,作为静态变量(section)呈现在头文件中,并添加foo函数,调用时将静态变量转换为函数引用并调用。
对于必要的,是的,答案有点奇怪,但是很容易将已经编译好的库添加为简单的头文件,而无需更改程序的链接。
【问题讨论】:
-
不,基本上不可能。对于非平凡的函数,库中的目标代码通常不包含足够的信息来正确确定预期的参数类型是什么。
-
向库作者询问 .h 文件。
-
您的问题措辞毫无意义。您是否想要一个头文件来声明库的接口,或者实际上要将库反编译作为头文件中的源代码。后者是不可能的,在任何情况下你都不希望代码在标题中。您需要的是创建库的原始源代码。编译是一个单向过程。