在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接口相关推荐

  1. python ctypes实现api测试_Windows下通过Python 3.x的ctypes调用C接口

    在Python中可以通过ctypes来调用动态库中的C接口,具体操作过程如下: 1. 使用vs2013创建一个加.减.乘.除的动态库,并对外提供C接口,code内容如下: math_operation ...

  2. windows搭建python开发环境方法_04 Windows下搭建 Python 开发环境 - Python 入门教程

    前面两个小节中我们已经学习了在 MacOS 和 Ubuntu 中安装 Python 的开发环境.当然,作为用户基数最多的 Windows 操作系统,我们当然不会忘记,这节课我们就来学习下如何在 Win ...

  3. Windows下运行python脚本报错“ImportError: No Module named ...”的解决方法

    Windows下运行python脚本报错"ImportError: No Module named ..."的解决方法 参考文章: (1)Windows下运行python脚本报错& ...

  4. Windows下用Python获取电脑显示器物理尺寸和PPI

    Windows下用Python获取电脑显示器物理尺寸和PPI 背景 PPI 和 DPI Python获取PPI 方法一(WMI) 方法二(WINREG) 方法三(WMI+WINREG) 总结 背景 最 ...

  5. windows下用Python把pdf文件转化为图片(png高清)

    windows下python3实现PDF转png图片,高清!!!希望可以帮到大家 windows下用Python将pdf文件转化为图片(png高清) 不扯没用的,直接上代码 1.环境:windows( ...

  6. windows下安装python scrapy爬虫环境

    windows下安装python scrapy爬虫环境 安装python 根据你的需求下载python安装包,安装python(本文基于python27)https://www.python.org/ ...

  7. windows下用Python把pdf文件转化为图片

    windows下用Python把png图片转化为pdf文件:https://blog.csdn.net/apollo_miracle/article/details/111915070 不扯没用的,直 ...

  8. windows下用Python把png图片转化为pdf文件

    windows下用Python把pdf文件转化为图片:https://blog.csdn.net/apollo_miracle/article/details/100601499 不扯没用的,直接上代 ...

  9. python windows 消息通讯_在windows下使用python进行串口通讯的方法

    在windows下使用python进行串口通讯的方法 Windows版本下的python并没有内置串口通讯的pyserial的库,所以需要自己下载.参照了网上的教程,有许多用的pip的安装方式,但是试 ...

最新文章

  1. 使用命令行创建AVD时的出错总结
  2. mysql每个类型查三条_Mysql的几个灵魂拷问(三)
  3. 只用来保存JQuery lightbox图片用的
  4. REVERSE-PRACTICE-CTFSHOW-4
  5. React和Vue的Chrome扩展工具安装
  6. UnityShader8:编写Shader时需要注意的细节和可能需要的意外/BUG
  7. Axure|【民宿】民宿APP原型
  8. java nio网络编程的一点心得
  9. html如何设置自动点击事件,使用javascript给html元素添加click事件
  10. delphi网络时间校对
  11. 阿里云有奖调查结果公布,赠送10个阿里巴巴logo胸针
  12. 如果不明白该用组合关系还是依赖关系,就来看这一篇!
  13. 1527. 患某种疾病的患者
  14. WebService为什么不如RESTful API流行
  15. stdio.h里的一些函数
  16. JavaScriptAPI
  17. CSDN高校——C1任务01—修改游戏存档
  18. 无线组网技术 作业
  19. 13、云函数模板消息推送
  20. iphone恢复模式_如何使用iPhone的人像模式

热门文章

  1. PyTorch框架:(4)如何去构建数据
  2. Don‘t entangle those useless things
  3. 数据结构和算法:(3)3.2.1单链表的整表创建
  4. Python Qt GUI设计:多线程中信号与槽的使用(基础篇—9)
  5. qemu模拟Cortex-A57运行Linux4.5.1
  6. cout 数组_C语言学习笔记(十)二维数组内存预设
  7. hive性能调优实战pdf_Nginx 性能调优实战
  8. VS+Eigen+CUDA compile error: C2244 and MSB3721
  9. 舒工自定义AJAX-lite 1.0实用型极简方法
  10. 几种Normalization算法.md