为 *.so 构建一个 python 接口
Building a python interface for a *.so
我想使用 C
库,从中可以获得共享对象和头文件。
由于 ctypes
和 Cython
的文档非常稀缺,而且关于它们的教程针对不同的用途,我需要一些帮助。
所以,我不知道从哪里开始,对于像我这样的 Python 初学者来说哪个工具是最简单的解决方案。
我终于成功地用 ctypes
导入了库。 Cython
不适合我,并且似乎对所需的不同文件很复杂。
在出现如下错误后:undefined symbol: inflate
,通过从系统库导入所需的 pcap 库,访问确实成功了。我只是不知道它是必需的。我找到它的位置:find /usr/lib/ -name libpcap*
from ctypes import cdll
def main():
libpcap = cdll.LoadLibrary('path/to/libpcap.so')
lib = cdll.LoadLibrary('path/to/lib.so')
lib.function_from_lib
if __name__ == "__main__":
main()
所以我希望,如果有人遇到这个问题并且来自 google,这里有一个可能有帮助的解决方案。
我想使用 C
库,从中可以获得共享对象和头文件。
由于 ctypes
和 Cython
的文档非常稀缺,而且关于它们的教程针对不同的用途,我需要一些帮助。
所以,我不知道从哪里开始,对于像我这样的 Python 初学者来说哪个工具是最简单的解决方案。
我终于成功地用 ctypes
导入了库。 Cython
不适合我,并且似乎对所需的不同文件很复杂。
在出现如下错误后:undefined symbol: inflate
,通过从系统库导入所需的 pcap 库,访问确实成功了。我只是不知道它是必需的。我找到它的位置:find /usr/lib/ -name libpcap*
from ctypes import cdll
def main():
libpcap = cdll.LoadLibrary('path/to/libpcap.so')
lib = cdll.LoadLibrary('path/to/lib.so')
lib.function_from_lib
if __name__ == "__main__":
main()
所以我希望,如果有人遇到这个问题并且来自 google,这里有一个可能有帮助的解决方案。