环境:

  • VS2017
  • 64位python IDE

提前声明

  • 本帖仅实现简单的加减函数封装成dll,并且使用python调用,显示结果。
  • 需要注意的是python只能调用C语言封装的dll文件,并且由于使用的python IDE为64位的,还需要一些配置,以下会有说明

DLL文件的生成

1.配置VS64位平台

    生成,输出时选择使用X64

    

    若没有X64,可参考: 使用VS在64位平台下编译代码,生成64位dll

2.创建工程

新建win32 dll项目

编写自己的文件

最终目录如下

添加一个test.h的文件,其内容和test.cpp内容如下:

#pragma once
#ifndef TEST_H
#define TEST_H

extern "C" __declspec(dllexport)int add(int x, int y); //注意"C"代表使用C语言封装
extern "C" __declspec(dllexport)int sub(int x, int y);

#endif
//test.cpp
#include "stdafx.h"

#include "stdafx.h"
#include"test.h"

int add(int x, int y)
{
	return x + y;
}

int sub(int x, int y)
{
	return x - y;
}

生成dll

    到X64/Debug目录中查找如下,其中dll和lib文件是我们需要的文件

python调用

代码:

import ctypes

if __name__ == '__main__':
    dll = ctypes.cdll.LoadLibrary
    lib = dll("test.dll")
    print(lib.add(12,4))
    print(lib.sub(123,7))

结果:

参考博客

使用vs封装c++成dll和lib

VS2012生成C的dll并调用以及Python调用C的DLL

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐