python - 如何查看动态库文件(.dylib)的函数定义?

标签 python c shared-libraries dylib

所以我有一个名为“libxlearn_api.dylib”的动态库文件。我可以通过

从 python 代码中加载这个库
lib = ctypes.cdll.LoadLibrary(/path/to/lib)

我还可以通过 dir(lib) 查看上面的库中定义了哪些函数。 但是,这只是给出了其中函数的名称列表。

我需要查看这些函数的描述/定义(它们是如何编写/实现的,即实际代码。)

我该怎么做?

最佳答案

I need to view the description/definition of these functions(how they are written/implemented, i.e the actual code.)

一般来说,你不能,因为动态库可能是proprietary (MacOSX 上许多与 GUI 相关的库都是这种情况,请阅读 Aqua)。

如果图书馆是free software ,或者如果通过某种(合法的)方式您获得了它的源代码(也许在签署了一些 NDA 并支付了一些钱之后),您可以研究它的源代码。然后您最好从源代码构建该库(以确保二进制库和源代码匹配),否则您需要相信二进制库的提供者它与您获得的源代码完全对应。

顺便说一句,xlearn是免费软件。也许它与您的二进制动态库相同(但您需要检查)。我建议能够从源代码构建它(在终端中,使用命令)。查看其 installation guide , 部分:从源代码安装。

关于python - 如何查看动态库文件(.dylib)的函数定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50619062/

相关文章:

python - 在 C 中,如何在没有嵌套函数的情况下为一个函数提供另一个函数的作用域?

c# - C# 和 C 中的枚举关键字有什么区别?

c - 用C语言编程微芯片时,如何计算1秒延迟所需的值

postgresql - MADlib apt 安装,如何安装?

c - dlopen 找不到 ldconfig -p 找到的库

python - python 中的日期范围,其中结果值必须为字符串格式

Python-查找并替换字符串变量中的正则表达式子字符串

c++ - 在 C++ 中为其他语言创建库

python - 刽子手 : File I/O strings and lists python

python - 批量转换作业结果为 "InternalServerError",数据文件 >100MB