Python访问C共享对象

时间:2012-02-24 11:25:36

标签: python c shared-libraries

假设我写了一个libx.so,它包含3个函数,

void bar();
void foo();
void spam();

然后我使用ctypes来访问它,

>>>libx = ctypes.CDLL("./libx.so")
>>>dir(libx)
...

但我怎么知道有多少函数libx.so导出它们是什么?

1 个答案:

答案 0 :(得分:2)

您可以在shell上使用nm libx.so来查看库导出的符号。

但是,阅读其docs / header文件通常是一个更好的主意 - 符号列表不会提供有关函数的参数和返回值的任何信息。