所以我有一个名为“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/