首先写一个简单的lzb_add.c文件如下:

#include <stdio.h>
int add_int(int, int);
float add_float(float, float);
int add_int(int num1, int num2) {return num1 + num2;
}
float add_float(float num1, float num2) {return num1 + num2;
}

然后将lzb_add.c编译为lzb_add.dll文件,方法如下:

首先要有gcc,然后命令行cd到c文件目录,执行下面命令,会在当前目录生成一个lzb_add.dll文件

gcc -shared -o lzb_add.dll .\lzb_add.c

有了这个dll文件,就可以给Python使用了

from ctypes import *
adder = CDLL('./lzb_add.dll')
res_int = adder.add_int(4,5)
print("Sum of 4 and 5 = " + str(res_int))a = c_float(5.5)
b = c_float(4.1)
add_float = adder.add_float
add_float.restype = c_float
print "Sum of 5.5 and 4.1 = ", str(add_float(a, b))

输出:
Sum of 4 and 5 = 9
Sum of 5.5 and 4.1 =  9.600000381469727

编译C/C++为dll供Python调用相关推荐

  1. VS2017 生成DLL 供python 调用

    今天突然想到python调用C++的问题,其中碰到了很多坑,最后终于弄好了,写博客来记录一下,以免忘记了: VS2017生成DLL python调用 VS2017生成DLL 1.新建项目->wi ...

  2. matlab将cpp编译为dll,Matlab函数编译成dll供Cpp调用的方法图解教程

    曾经实现过将matlab函数编译成dll供Cpp调用,这篇文章的目的是对新增的面向对象的的扩展mwArray进行讲解,matlab很容易和C/C++联合起来使用. 以前做过matlab7与c++的混合 ...

  3. 关于win7下编译pyx文件生成pyd文件供Python调用

    在运行python程序的时候,会发现有些模块不是用Python语言编写的,而是用C/C++编写的,主要是考虑到C/C++编写的模块相对Python脚本语言编写的模块执行速度更快.那么在调用这些由C/C ...

  4. Matlab函数封装为DLL供Cpp调用

    Matlab函数封装为DLL供Cpp调用 文章目录 Matlab函数封装为DLL供Cpp调用 Ⅰ目标 Ⅱ 学习 Ⅲ 实现 1. Matlab 函数封装为DLL 2. vs2015中C++调用Matla ...

  5. Windows使用MSVC,命令行编译,链接64位dll,Python调用

    文章目录 代码 编译 链接 Python调用 前一篇博客: Windows下使用Visual Studio自带的MSVC,命令行编译C/C++程序 代码 mylib.h代码如下: #ifndef MY ...

  6. 【转】matlab函数编译成dll供Cpp调用的方法

    转自:https://www.cnblogs.com/vincenzo/archive/2009/09/09/1563467.html 以前做过matlab7与c++的混合编程:将m函数编译成dll给 ...

  7. 如何将c语言程序封装供python调用_C++调用python

    C++调用python 在C/C++中嵌入Python,可以使用Python提供的强大功能,通过嵌入Python可以替代动态链接库形式的接口,这样可以方便地根据需要修改脚本代码,而不用重新编译链接二进 ...

  8. 如何将c语言程序封装供python调用_一起学opencv-python四十五:opencv绑定python,python和c++互调...

    opencv-python系列教程来到了最后一讲.感谢一路的坚持. 如何生成OpenCV-Python绑定? 在OpenCV中,所有算法都是用C ++实现的.但是这些算法可以用于不同的语言,如Pyth ...

  9. matlab2014a + win764bit + vs2013混合编程(.m转成dll供C++调用)

    在matlab中可以通过mbuild工具将.m文件编译成dll文件供外部的C++程序调用,这样就可以实现matlab和C++混合编程的目的. 1. 使用matlab生成dll文件 1.1 首先需要带有 ...

最新文章

  1. ASP解析JSON例子
  2. 【必看】做了3年运维却不涨薪?那是你还没get这个技能
  3. 技术人员应该如何培养
  4. Linux下设置普通用户使用sudo命令
  5. 玩客云pc端_玩客云电脑客户端-玩客云pc端下载 v1.4.5.112官方版--pc6下载站
  6. 自动软件签到Android代码,Android辅助工具,G分助手的实现 - 心悦俱乐部app自动签到、领G分...
  7. 单目标跟踪(模板更新)(UpdateNet)《Learning the Model Update for Siamese Trackers》
  8. 通过高阶DMD对地铁的实时短时OD预测
  9. 群主微信sdk说明地址
  10. CodeForces 1538G : Gift Set 思维 + 二分
  11. 自然语言处理面试基础
  12. 汉语拼音方案里的O(哦)和 UO(窝)
  13. MATLAB 车牌识别程序介绍 SVM、神经网络[毕业设计]
  14. 需求调研(一)——调研流程和时间的把握
  15. excel2013鼠标滑动滚动条时出现已停止工作(故障模块OSF.dll)
  16. 本地 Services(服务)
  17. Nacos Spring Cloud入门
  18. 什么样的软件算是功能安全软件?
  19. 【重识云原生】第四章云网络4.3.10.2节——VXLAN Overlay网络方案设计
  20. zz .Net 实现游戏修改器

热门文章

  1. 开发者狂喜!微信小程序文档和工具放出
  2. Node.js初探之hello world
  3. 机器学习SVD【二】
  4. WeTest功能优化第3期:业内首创,有声音的云真机
  5. Unity 之命名规范(一)
  6. 【IOS】获取wifi名称 (即SSID)
  7. Base64编码解码与实现
  8. java大数输出一位小数_java大数练习 大明A+B(大数小数的高精度)
  9. ZZULIOJ 1063:最大公约与最小公倍
  10. 怎么把汇编语言变成c语言,如何把汇编语言转换成C语言