将python库绑定到C
我想做的与大多数人想做的相反:我有一个用Python编写的库,我想让C(可能还有其他语言)可以使用它 我知道这一问题的典型答案是使用C语言的Python库,即:将python库绑定到C,python,c,binding,Python,C,Binding,我想做的与大多数人想做的相反:我有一个用Python编写的库,我想让C(可能还有其他语言)可以使用它 我知道这一问题的典型答案是使用C语言的Python库,即: #包括 int main(int argc,char*argv[]) { Py_初始化(); PyRun_SimpleString(“从导入时间开始,ctime\n” “打印“今天是”,ctime(time())\n”); Py_Finalize(); 返回0; } (来源:) 然而,对我来说,这似乎不太理想: 很难看 这只是为了
#包括
int
main(int argc,char*argv[])
{
Py_初始化();
PyRun_SimpleString(“从导入时间开始,ctime\n”
“打印“今天是”,ctime(time())\n”);
Py_Finalize();
返回0;
}
(来源:)
然而,对我来说,这似乎不太理想:
- 很难看
- 这只是为了C
当然,一旦您决定在一个单独的进程中运行python库,就有了进程间通信的所有可能性,比如命名管道或套接字,以及诸如或之类的工具包 好吧,我不需要像运行守护程序的库这样的花哨(至少现在不需要)。所以我想我会手动编写一个C库,连接到python库;然后,我将使用SWIG对其他语言进行绑定。
#include <Python.h>
int
main(int argc, char *argv[])
{
Py_Initialize();
PyRun_SimpleString("from time import time,ctime\n"
"print 'Today is',ctime(time())\n");
Py_Finalize();
return 0;
}