C中使用python函索

mm@R1-A007 ~/gordon_space/program $ cat callbyc.py
#Filename callbyc.py
def Hello():
    print "Hello,world!"


mm@R1-A007 ~/gordon_space/program $ cat call_python.c
#include <Python.h>
int main(){
  Py_Initialize();
  PyObject * pModule = NULL;
  PyObject * pFunc = NULL;
  pModule = PyImport_ImportModule("callbyc");
  pFunc = PyObject_GetAttrString(pModule, "Hello");
  PyEval_CallObject(pFunc,NULL);
  Py_Finalize();


  return 0;
}
mm@R1-A007 ~/gordon_space/program $ gcc -o call_python call_python.c -I /usr/include/python2.7/  -lpython2.7
mm@R1-A007 ~/gordon_space/program $ ./call_python

Hello,world!

這個例子上網絡上找到的,弄了一個小時才能好,一直都是段錯誤。

最後

MULTIVEND1123 program # cp callbyc.py  /usr/lib/python2.7/

才搞定

因爲pModule = PyImport_ImportModule("callbyc");的時候找不到路徑,返回的pModule 是空的。


寫個日誌記住下。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章