美文网首页
Python调用C++dll (window平台)

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

作者: 薛子育 | 来源:发表于2017-06-01 22:34 被阅读0次

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

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

    图片.png 图片.png

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

    图片.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;
    }
    

    如下:

    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平台)

          本文链接:https://www.haomeiwen.com/subject/cserfxtx.html