如何使用cg在golang导入cython生成的文件

2024-06-16 10:36:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我将python文件转换为example.c和示例.so 我可以将这些文件导出为python模块,并将python中的函数作为 测试.py公司名称:

import example
example.test()

这样我就可以很容易地在python中导入cythonized的python文件。 如何使用cgo在golang中类似地导入这些文件?在


Tags: 模块文件函数pytestimport名称示例
1条回答
网友
1楼 · 发布于 2024-06-16 10:36:17

Cython代码包括一堆代码包装,以创建python模块,并在python对象和C类型之间进行转换。在

你可能不需要这些。例如,在cgo中一个非常简单的hello world可以是:

/* hello.c */
#include <stdio.h>

static void hello(void) {
    printf("hello world!\n");
}

您可以使用特殊导入从GO with C代码调用它,有些代码还包括指令注释:

^{pr2}$

当然,您可以尝试只包含上面的“cythoized”C文件,但还需要包含适当的链接器指令,以便Go可以将所有Python运行时的内容编译到Go二进制文件中。在

一般来说,这可能不是你想要做的。。。在

如果您真的想从Go调用Python,那么您可能需要看看http://grump.io/之类的东西。在

相关问题 更多 >