Python调用C语言程序方法解析


Posted in Python onJuly 07, 2020

首先我们需要将编写好的c程序文件编译为动态库文件(后缀名为.so)

使用下面的命令:

gcc 原文件名.c -shared -o 新文件名.so

然后在python程序中导入模块:from ctypes import *

在python中引入c动态库,并定义一个变量用来接收动态库:

a=cdll.LoadLibrary("动态库文件路径")

然后就可以调用其中的函数了。

a.函数名()

具体使用示例如下:

//c语言代码

#include<stdio.h>

void fun()
{
	printf("hello world\n");
}
#python代码

from ctypes import *
res=cdll.LoadLibrary('main.so')
res.fun()

执行结果如下图所示:

Python调用C语言程序方法解析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python字符串替换示例
Apr 24 Python
Python利用BeautifulSoup解析Html的方法示例
Jul 30 Python
Python3使用正则表达式爬取内涵段子示例
Apr 22 Python
Pycharm设置界面全黑的方法
May 23 Python
详解Python3.6安装psutil模块和功能简介
May 30 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
Sep 10 Python
树莓派极简安装OpenCv的方法步骤
Oct 10 Python
Python:type、object、class与内置类型实例
Dec 25 Python
python 成功引入包但无法正常调用的解决
Mar 09 Python
Anaconda+vscode+pytorch环境搭建过程详解
May 25 Python
Scrapy 配置动态代理IP的实现
Sep 28 Python
python爬虫利用代理池更换IP的方法步骤
Feb 21 Python
keras实现VGG16方式(预测一张图片)
Jul 07 #Python
通过实例解析Python RPC实现原理及方法
Jul 07 #Python
Keras预训练的ImageNet模型实现分类操作
Jul 07 #Python
Scrapy模拟登录赶集网的实现代码
Jul 07 #Python
scrapy框架携带cookie访问淘宝购物车功能的实现代码
Jul 07 #Python
Keras构建神经网络踩坑(解决model.predict预测值全为0.0的问题)
Jul 07 #Python
浅谈django框架集成swagger以及自定义参数问题
Jul 07 #Python
You might like
php上传图片存入数据库示例分享
2014/03/11 PHP
php文件上传、下载和删除示例
2020/08/28 PHP
Yii2-GridView 中让关联字段带搜索和排序功能示例
2017/01/21 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
2018/06/13 PHP
Sample script that displays all of the users in a given SQL Server DB
2007/06/16 Javascript
JavaScript 继承详解(四)
2009/07/13 Javascript
$.ajax返回的JSON无法执行success的解决方法
2011/09/09 Javascript
JS获取html对象的几种方式介绍
2013/12/05 Javascript
基于JQuery实现的Select级联
2014/01/27 Javascript
原生javascript实现无间缝滚动示例
2014/01/28 Javascript
Javascript中replace()小结
2015/09/30 Javascript
微信小程序 css使用技巧总结
2017/01/09 Javascript
angularjs实现的前端分页控件示例
2017/02/10 Javascript
socket.io学习教程之深入学习篇(三)
2017/04/29 Javascript
jQuery实现广告条滚动效果
2017/08/22 jQuery
JavaScript实现的鼠标跟随特效示例【2则实例】
2018/12/22 Javascript
vue keep-alive 动态删除组件缓存的例子
2019/11/04 Javascript
如何通过javaScript去除字符串两端的空白字符
2020/02/06 Javascript
JavaScript交换变量常用4种方法解析
2020/09/02 Javascript
基于vue+echarts数据可视化大屏展示的实现
2020/12/25 Vue.js
[29:16]完美世界DOTA2联赛决赛日 Inki vs LBZS 第三场 11.08
2020/11/10 DOTA
跟老齐学Python之变量和参数
2014/10/10 Python
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
2015/05/05 Python
简单讲解Python中的字符串与字符串的输入输出
2016/03/13 Python
python字符串连接方法分析
2016/04/12 Python
pandas.loc 选取指定列进行操作的实例
2018/05/18 Python
python中bytes和str类型的区别
2019/10/21 Python
TensorFlow查看输入节点和输出节点名称方式
2020/01/04 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
2020/06/30 Python
世界上最大的网络主机公司:1&1
2016/10/12 全球购物
SmartBuyGlasses荷兰:购买太阳镜和眼镜
2020/03/16 全球购物
理财投资建议书
2014/03/12 职场文书
交通事故协议书范文
2014/04/16 职场文书
会议主持人开场白台词
2015/05/28 职场文书
vue 实现上传组件
2021/05/31 Vue.js
Spring Boot 的创建和运行示例代码详解
2022/07/23 Java/Android