Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过python脚本运行.so文件_Python_Cython_Shared Objects - Fatal编程技术网

如何通过python脚本运行.so文件

如何通过python脚本运行.so文件,python,cython,shared-objects,Python,Cython,Shared Objects,我有一个c程序(.c文件)。我正在将其转换为共享对象(.so)。如何从python代码中调用和运行共享对象?如果可能,请向我推荐一个可以帮助我完成此任务的库列表。如果您想调用共享对象中的函数,您需要的是标准模块。不需要任何外部库 加载库: from ctypes import * # either libc = cdll.LoadLibrary("libc.so.6") # or libc = CDLL("libc.so.6") 然后从库中调用函数,与调用Python函数相同: print(l

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

如果您想调用共享对象中的函数,您需要的是标准模块。不需要任何外部库

加载库:

from ctypes import *
# either
libc = cdll.LoadLibrary("libc.so.6")
# or
libc = CDLL("libc.so.6")
然后从库中调用函数,与调用Python函数相同:

print(libc.time(None))

注意使用推荐方法的人员。它不适用于windows,适用于linux windows函数的代码如下:

from ctypes import *
libc = cdll.msvcrt
也就是说

print(libc.time(None))

C库是从Python调用的吗?我只是想执行这个文件,比如调用一个不带参数的Python函数,并将结果存储在Python变量中,以便在Python中进一步执行。希望您能理解我的问题。SWIG非常易于使用:您是指
libc=cdll.LoadLibrary(“libc.so.6”)
?我编辑了我的示例,以包含标准库示例中的第二个方法,这就是引用的地方。如何将参数传递给我们从libc调用的函数?