Python调用C++dll (window平台)

注:python在linux操作系统下调用so文件,再windows下调用dll库
注:生成dll库需要为release,不要用debug。因为debug是调试模式,可能需要很多外部连接等,python在调用时,调用的机器在没有vc++runtime的情况下,会报错。所以一定使用release模式。

1. VS2013创建dll文件:
创建dll文件:

Python调用C++dll (window平台)_第1张图片
图片.png
Python调用C++dll (window平台)_第2张图片
图片.png

2. 写dll文件:
VS已经生成了相关文件,我们需要在项目的cpp下面写dll文件:

Python调用C++dll (window平台)_第3张图片
图片.png

首先需要写如下代码,这条语句表示以C的格式导出一个lib文件,lib文件里包含了DLL中导出函数的相关信息:

extern "C" _declspec(dllexport) int add(int a, int b);

编写所对应的函数 add(int a, int b):

int add(int a, int b)
{
    int c = a + b;
    return c;
}

如下:

Python调用C++dll (window平台)_第4张图片
Paste_Image.png

3.写python调用文件:
将dll与py文件置于同一级目录,按以下方式对dll进行调用,即可获得结果输出:

import ctypes
ll = ctypes.cdll.LoadLibrary
lib_add = ll("./called_python.dll")
print lib_add.add(1, 3)

你可能感兴趣的:(Python调用C++dll (window平台))