Windows下通过Python 3.x的ctypes调用C接口
在Python中可以通过ctypes来调用动态库中的C接口,具体操作过程如下:
1. 使用vs2013创建一个加、减、乘、除的动态库,并对外提供C接口,code内容如下:
math_operations.hpp:
#ifndef TEST_DLL_1_MATH_OPERATIONS_HPP_
#define TEST_DLL_1_MATH_OPERATIONS_HPP_#define FBC_EXPORTS __declspec(dllexport)#ifdef __cplusplus
extern "C" {
#endifFBC_EXPORTS int add_(int a, int b);
FBC_EXPORTS int sub_(int a, int b);
FBC_EXPORTS int mul_(int a, int b);
FBC_EXPORTS int div_(int a, int b);#ifdef __cplusplus
}
#endif#endif // TEST_DLL_1_MATH_OPERATIONS_HPP_
math_operations.cpp:
#include "math_operations.hpp"
#include <iostream>FBC_EXPORTS int add_(int a, int b)
{fprintf(stdout, "add operation\n");return a + b;
}FBC_EXPORTS int sub_(int a, int b)
{fprintf(stdout, "sub operation\n");return a - b;
}FBC_EXPORTS int mul_(int a, int b)
{fprintf(stdout, "mul operation\n");return a * b;
}FBC_EXPORTS int div_(int a, int b)
{if (b == 0) {fprintf(stderr, "b can't equal 0\n");return -1;}return (a / b);
}
2. python代码如下:
import ctypeslib = ctypes.cdll.LoadLibrary("E:/GitCode/Python_Test/lib/rel/x64_vc12/Test_DLL_1.dll")a = 9; b = 3value = lib.add_(a, b)
print("add result:", value)
value = lib.sub_(a, b)
print("sub result:", value)
print("mul result:", lib.mul_(a, b))
print("div result:", lib.div_(a, b))
执行结果如下:
GitHub: https://github.com/fengbingchun/Python_Test
Windows下通过Python 3.x的ctypes调用C接口相关推荐
- python ctypes实现api测试_Windows下通过Python 3.x的ctypes调用C接口
在Python中可以通过ctypes来调用动态库中的C接口,具体操作过程如下: 1. 使用vs2013创建一个加.减.乘.除的动态库,并对外提供C接口,code内容如下: math_operation ...
- windows搭建python开发环境方法_04 Windows下搭建 Python 开发环境 - Python 入门教程
前面两个小节中我们已经学习了在 MacOS 和 Ubuntu 中安装 Python 的开发环境.当然,作为用户基数最多的 Windows 操作系统,我们当然不会忘记,这节课我们就来学习下如何在 Win ...
- Windows下运行python脚本报错“ImportError: No Module named ...”的解决方法
Windows下运行python脚本报错"ImportError: No Module named ..."的解决方法 参考文章: (1)Windows下运行python脚本报错& ...
- Windows下用Python获取电脑显示器物理尺寸和PPI
Windows下用Python获取电脑显示器物理尺寸和PPI 背景 PPI 和 DPI Python获取PPI 方法一(WMI) 方法二(WINREG) 方法三(WMI+WINREG) 总结 背景 最 ...
- windows下用Python把pdf文件转化为图片(png高清)
windows下python3实现PDF转png图片,高清!!!希望可以帮到大家 windows下用Python将pdf文件转化为图片(png高清) 不扯没用的,直接上代码 1.环境:windows( ...
- windows下安装python scrapy爬虫环境
windows下安装python scrapy爬虫环境 安装python 根据你的需求下载python安装包,安装python(本文基于python27)https://www.python.org/ ...
- windows下用Python把pdf文件转化为图片
windows下用Python把png图片转化为pdf文件:https://blog.csdn.net/apollo_miracle/article/details/111915070 不扯没用的,直 ...
- windows下用Python把png图片转化为pdf文件
windows下用Python把pdf文件转化为图片:https://blog.csdn.net/apollo_miracle/article/details/100601499 不扯没用的,直接上代 ...
- python windows 消息通讯_在windows下使用python进行串口通讯的方法
在windows下使用python进行串口通讯的方法 Windows版本下的python并没有内置串口通讯的pyserial的库,所以需要自己下载.参照了网上的教程,有许多用的pip的安装方式,但是试 ...
最新文章
- 使用命令行创建AVD时的出错总结
- mysql每个类型查三条_Mysql的几个灵魂拷问(三)
- 只用来保存JQuery lightbox图片用的
- REVERSE-PRACTICE-CTFSHOW-4
- React和Vue的Chrome扩展工具安装
- UnityShader8:编写Shader时需要注意的细节和可能需要的意外/BUG
- Axure|【民宿】民宿APP原型
- java nio网络编程的一点心得
- html如何设置自动点击事件,使用javascript给html元素添加click事件
- delphi网络时间校对
- 阿里云有奖调查结果公布,赠送10个阿里巴巴logo胸针
- 如果不明白该用组合关系还是依赖关系,就来看这一篇!
- 1527. 患某种疾病的患者
- WebService为什么不如RESTful API流行
- stdio.h里的一些函数
- JavaScriptAPI
- CSDN高校——C1任务01—修改游戏存档
- 无线组网技术 作业
- 13、云函数模板消息推送
- iphone恢复模式_如何使用iPhone的人像模式
热门文章
- PyTorch框架:(4)如何去构建数据
- Don‘t entangle those useless things
- 数据结构和算法:(3)3.2.1单链表的整表创建
- Python Qt GUI设计:多线程中信号与槽的使用(基础篇—9)
- qemu模拟Cortex-A57运行Linux4.5.1
- cout 数组_C语言学习笔记(十)二维数组内存预设
- hive性能调优实战pdf_Nginx 性能调优实战
- VS+Eigen+CUDA compile error: C2244 and MSB3721
- 舒工自定义AJAX-lite 1.0实用型极简方法
- 几种Normalization算法.md