[英]Wrapping C code with python on the fly with CFFI/Cython
我正在开发一个项目,该项目需要我在 Python 中为我需要从 Python 调用的 C 库创建一些包装器。 对于上下文,我使用的 C 库是一堆 header 文件 (.h) 和静态链接库文件 (.a)
我决定使用 CFFI 或 Cython 来完成我的工作。 对于 CFFI,我遵循了与此类似的示例 -将 C 代码与 CFFI 连接,而这对于 Cython - 使您的 C 库可从 ZA7F5F35426B927411FC9231B563821 7 通过包装调用它。 现在我在这两个模块中尝试过的小示例程序或多或少都有以下步骤
.so
文件。.so
文件导入接口库,从不同的 python 脚本调用包装函数。 现在,这对我来说非常有效。 But, I'll have to go through two execution steps in the process (generating the .so
file, and then actually running the python script with the C API being called).
我需要知道是否有办法在一个执行步骤中完成上述所有操作。 就像,我想运行我的最终 python 脚本,它应该构建接口代码并在一次执行中即时导入它。
有关更多上下文,我尝试了 SWIG,但无法找到一种方法来包装.a
静态链接库。 ctypes 也是如此。
你不能这样做吗?
import os
os.system('command to build your .so here')
...
import what_ever_you_need
...
对于 CFFI,您只需要在运行时执行现在在构建器脚本中的代码。 将其全部移动到 function 中,然后您有一个 function 可以在需要时调用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.