########## 以下所有文字均为答主手敲,转载请注明出处和作者 ##########
属于混合编程的问题。较全面的介绍一下,不仅限于题主提出的问题。
以下讨论中,Python指它的标准实现,即CPython(虽然不是很严格)
本文分4个部分C/C++ 调用 Python (基础篇) 仅讨论Python官方提供的实现方式
Python 调用 C/C++ (基础篇) 仅讨论Python官方提供的实现方式
C/C++ 调用 Python (高级篇) 使用 Cython
Python 调用 C/C++ (高级篇) 使用 SWIG
1 C/C++ 调用 Python(基础篇)
Python 本身就是一个C库。你所看到的可执行体python只不过是个stub。真正的python实体在动态链接库里实现,在Windows平台上,这个文件位于 %SystemRoot%System32python27.dll。
你也可以在自己的程序中调用Python,看起来非常容易:
//my_python.c
#include
int main(int argc, char *argv[])
{
Py_SetProgramName(argv[0]);
Py_Initialize();
PyRun_SimpleString("print 'Hello Python!'n");
Py_Finalize();
return 0;
}在Windows下需要安装Visual Studio。编译命令为
cl my_python.c -IC:Pyt