一、【C/C++调用Python】
参考:http://www.open-open.com/lib/view/open1329532219656.html
1、例程:
test.c
#include "Python.h"
void HelloWorld(){
Py_Initialize();
PyRun_SimpleString("import sys");
PyRun_SimpleString("print 'hi,python!'");
PyRun_SimpleString("sys.path.append('./')");
PyObject * pModule = NULL;
PyObject * pFunc = NULL;
printf("11111 %x\n",pModule);
pModule =PyImport_ImportModule("mypy");
printf("11111 %x\n",pModule);
pFunc= PyObject_GetAttrString(pModule, "HelloWorld");
PyEval_CallObject(pFunc, NULL);
Py_Finalize();
}
void main(){
printf("tttttt\n");
HelloWorld();
}
mypy.py
#!/usr/bin/env python
print '2222'
def HelloWorld():
print 'this is Helloworld'
编译: mips-linux-gnu-gcc -EL test.c -L./lib -lpython2.7 -I./include/python2.7/
2、例程:
test.cpp
#include <iostream>
#include "Python.h"
using namespace std;
void HelloWorld();
void Add();
void TestTransferDict();
void TestClass();
int main()
{
cout << "Starting Test..." << endl;
cout << "HelloWorld()-------------" << endl;
HelloWorld();
cout << "Add()--------------------" << endl;
Add();
cout << "TestDict-----------------" << endl;
TestTransferDict();
cout << "TestClass----------------" << endl;
TestClass();
// system("pause");
return 0;
}
void HelloWorld()
{
Py_Initialize();
PyRun_SimpleString("import sys");
PyRun_SimpleString("print 'hi,python!'");
PyRun_SimpleString("sys.path.append('./')");
PyObject * pModule = NULL;
PyObject * pFunc = NULL;
pModule =PyImport_ImportModule("Test001");
pFunc= PyObject_GetAttrString(pModule, "HelloWorld");
PyEval_CallObject(pFunc, NULL);
Py_Finalize();
}
void Add()
{
Py_Initialize();
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append('./')");
PyObject * pModule = NULL