注:python在linux操作系統(tǒng)下調(diào)用so文件,再windows下調(diào)用dll庫
注:生成dll庫需要為release循榆,不要用debug盆色。因為debug是調(diào)試模式漆撞,可能需要很多外部連接等,python在調(diào)用時挚歧,調(diào)用的機器在沒有vc++runtime的情況下扛稽,會報錯。所以一定使用release模式滑负。
1. VS2013創(chuàng)建dll文件:
創(chuàng)建dll文件:
2. 寫dll文件:
VS已經(jīng)生成了相關文件在张,我們需要在項目的cpp下面寫dll文件:
首先需要寫如下代碼锡搜,這條語句表示以C的格式導出一個lib文件,lib文件里包含了DLL中導出函數(shù)的相關信息:
extern "C" _declspec(dllexport) int add(int a, int b);
編寫所對應的函數(shù) add(int a, int b):
int add(int a, int b)
{
int c = a + b;
return c;
}
如下:
3.寫python調(diào)用文件:
將dll與py文件置于同一級目錄瞧掺,按以下方式對dll進行調(diào)用耕餐,即可獲得結(jié)果輸出:
import ctypes
ll = ctypes.cdll.LoadLibrary
lib_add = ll("./called_python.dll")
print lib_add.add(1, 3)