- 修改lib文件名稱,拷貝修改C:\Python27\libs目錄下原來的python27.lib為python27_d.lib
- 包含頭文件在C:\Python27\include目錄下
- 包含lib文件
- 調用64位lib庫需要修改版本
最簡單的代碼:
1 #include "stdafx.h" 2 #include "python.h" 3 4 5 int _tmain(int argc, _TCHAR* argv[]) 6 { 7 Py_Initialize(); 8 PyRun_SimpleString("print 'hello world!' "); 9 Py_Finalize(); 10 getchar(); 11 return 0; 12 }
以main.c 調用 hellWorld.py 函數為例進行說明。
helloWorld.py 的內容很簡單只是定義了hello函數然后輸出“Hello World”
main.c 函數也比較簡單,主要是初始化python,以及導入python的模塊等
里面的Python_Initialize()主要是初始化python解釋器。
Py_SimpleString("import sys")相當於在python中的import sys語句。
Py_SimpleString("sys.path.append('./')")是將搜索路徑設置為當前目錄。
Py_ImportModule("helloWorld")是利用導入文件函數將helloWorld.py函數導入。
PyObject_GetAttrString(pModule, "hello")是在pyton引用模塊helloWorld.py中查找hello函數。
接着調用PyEval_CallObject(pFunc, NULL)調用hello函數。
最后是清理python環境釋放資源。
http://blog.csdn.net/yelbosh/article/details/7495555
http://blog.csdn.net/taiyang1987912/article/details/44779719
http://blog.chinaunix.net/uid-20564848-id-73553.html
http://www.2cto.com/kf/201411/352264.html
http://www.cnblogs.com/linxr/archive/2011/07/22/2113843.html