linux - 列出 .so 库中原型(prototype)的工具

标签 linux command prototype

Linux 中是否有一个工具(如命令)可以列出 .so 库中的原型(prototype)。

我发现 nm 接近我的需要,但我得到的只是符号。

最佳答案

如果库是 C 库,它本身不包含函数的签名。这些在头文件中(库应该提供),除非 .so 库已使用 -g 启用的调试信息进行编译(这在生产环境中不常见库)。

即使在 C++ 中,.so 库(没有 -g)也不包含相关类的声明。损坏的名称仅指类或类型名称...

简而言之,您需要库的头文件。大多数 Linux 发行版将它们与库本身分开打包。例如,在 Debian 上,您同时拥有 libjansson4 包(包含 .so 共享库,需要运行像 Jansson 库这样的应用程序)和 libjansson- dev 包(包含共享对象和头文件,可用于构建应用程序调用 Jansson 库中的函数)。 Debian 还提供 libjansson-dbg(用于调试信息或库的变体)和 libjansson-doc(用于文档)包。

关于linux - 列出 .so 库中原型(prototype)的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9463640/

相关文章:

ComboBox 中的 WPF 命令支持

javascript - 传入数字,Number.prototype.format

javascript - 在 Node.js 中从 EventEmitter 继承的原型(prototype)数组

c++ - 调用 TTF_OpenFont 时出现奇怪的段错误

c++ - X11,更改分辨率并使窗口全屏

linux - 不包括顶级/父文件夹的 Git 克隆

ssl - 在openssl req命令行设置证书的参数

linux - BASH - 复制时忽略隐藏文件和空源目录

Java命令行执行相对于打包

c++错误编译器原型(prototype)和期望构造函数