我想从 python 模块准备一个共享对象(.so)。我遇到了 Cython,它 a) 首先将 *.pyx 模块转换为 *.c 代码,b) 然后这个 *.c 代码将转换为共享对象 (.so)。Cython 的所有示例都说明了如何将这个 .so 导入到 python 中。
\n\n但是,我有兴趣从 C 代码中读取这个共享对象。当我编写示例 C 代码来读取 .so 时,它会抛出一个错误,指出 .pyx 中实际存在的方法并不存在于 .so 对象中。
\n\n我想知道 \na) 是否可以从不同的语言(例如 C)读取 Cython 的共享对象 \nb) 而且,如果上述语句为 True,我必须在代码中进行哪些更改,以便我将能够从 C 读取共享对象。
\n\n谢谢,
\n\nPython代码(保存为square_number.pyx)
\n\ndef square_me(int x):\n return x * x\nRun Code Online (Sandbox Code Playgroud)\n\nCython 对应的 setup.py 文件
\n\nfrom distutils.core import setup\nfrom Cython.Build import cythonize\n\nsetup(\n ext_modules=cythonize("square_number.pyx"),\n )\nRun Code Online (Sandbox Code Playgroud)\n\n将上述 .pyx 转换为 .So 的命令行语句(通过 cython)
\n\npython setup.py …Run Code Online (Sandbox Code Playgroud)