如何使用python脚本运行.so文件

时间:2018-02-22 04:36:57

标签: python cython shared-objects

我有一个c程序(.c文件)。我正在将其转换为共享对象(.so)。如何从我的python代码中调用和运行共享对象?如果可能的话,请向我建议一个可以帮助我完成这项任务的库列表。

2 个答案:

答案 0 :(得分:2)

如果要在共享对象中调用函数,标准模块ctypes就是你所追求的。不需要任何外部库。

加载库:

from ctypes import *
# either
libc = cdll.LoadLibrary("libc.so.6")
# or
libc = CDLL("libc.so.6")

然后从库中调用一个函数,就像调用Python函数一样:

print(libc.time(None))

答案 1 :(得分:1)

对那些使用推荐方法的人要小心。它不适用于Windows,适用于Linux,Windows功能的代码如下:

from ctypes import *
libc = cdll.msvcrt

并称呼它,

print(libc.time(None))