Python中调用VisualStudio创建的DLL库

1、创建DLL

打开VisualStudio2022,创建新项目

动态链接库-下一步

设置项目名称、项目位置、创建

单击头文件、添加、新建项

选择.h、设置名称、添加

同样的在源文件新建项,创建

代码:
test.h

#pragma once

#ifdef BUILD_TEST
#define API_SYMBOL __declspec(dllexport)
#else
#define API_SYMBOL __declspec(dllimport)
#endif
//宏定义,导出或者导入//

extern "C" API_SYMBOL int sum(int x, int y);
//导出函数//

test.c

#define BUILD_TEST
#include "test.h"
#include "stdio.h"
#include "pch.h"

#define DLLEXPORT extern "C" __declspec(dllexport)    //直接在源文件定义导出

DLLEXPORT int sum(int a, int b) {
    return a + b;
}//两数相加

设置编译器位数为64位(x86是32位,位数根据运行的pycharm中的Python解释器位数定义,两者保持一致)

注:如何查看Python解释器的位数

xin+R输入cmd输入指令Python,我的电脑是64位的。

生成解决方案

结果

2、pycharm调用DLL

将生成的DLL文件复制到Python目录下运行代码

代码:

from ctypes import *
from ctypes import *    #pip ctypes库,并导入库
test = CDLL("./test.dll")    #调用当前目录下叫test的dll文件,dll文件是C生成的动态链接库

print("加载成功")

result =test.sum(5,10)    #调用库里的函数sum,求和函数
print(result)    #打印结果

参考文章:

Python3调用C程序(超详解) - 知乎 (zhihu.com)

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值