python 调用c语言函数的方法


Posted in Python onSeptember 29, 2017

虽然python是万能的,但是对于某些特殊功能,需要c语言才能完成。这样,就需要用python来调用c的代码了

具体流程:

c编写相关函数 ,编译成库

然后在python中加载这些库,指定调用函数。

这些函数可以char ,int, float, 还能返回指针。

以下示例:

通过python调用c函数,返回"hello,world 字符串"

新建c语言文件 hello.c

touch hello.c

#include <stdio.h>

char *get_str()
{
  return "hello,world"
}

编译成库

gcc -o hello.so --share -fPIC hello.c

新建python脚本

touch test.py

from ctypes import *

dll = CDLL("./hello.so")
dll.get_str.restype = c_char_p
str = dll.get_str()
print(string_at(str, 11))

执行python脚本

[feng@arch python_c]$ python test.py 
hello,world

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

Python 相关文章推荐
Python机器学习算法之k均值聚类(k-means)
Feb 23 Python
创建pycharm的自定义python模板方法
May 23 Python
详解Django的model查询操作与查询性能优化
Oct 16 Python
python爬虫简单的添加代理进行访问的实现代码
Apr 04 Python
Python实现插入排序和选择排序的方法
May 12 Python
Python any()函数的使用方法
Oct 28 Python
Python&amp;&amp;GDAL实现NDVI的计算方式
Jan 09 Python
PyQt5如何将.ui文件转换为.py文件的实例代码
May 26 Python
Django中使用Celery的方法步骤
Dec 07 Python
python3中celery异步框架简单使用+守护进程方式启动
Jan 20 Python
关于探究python中sys.argv时遇到的问题详解
Feb 23 Python
bat批处理之字符串操作的实现
Mar 16 Python
python文件名和文件路径操作实例
Sep 29 #Python
Python 实现简单的shell sed替换功能(实例讲解)
Sep 29 #Python
Python 基础教程之闭包的使用方法
Sep 29 #Python
python下实现二叉堆以及堆排序的示例
Sep 29 #Python
Python数据结构与算法之链表定义与用法实例详解【单链表、循环链表】
Sep 28 #Python
Python实现压缩和解压缩ZIP文件的方法分析
Sep 28 #Python
Python有序字典简单实现方法示例
Sep 28 #Python
You might like
第4章 数据处理-php字符串的处理-郑阿奇(续)
2011/07/04 PHP
具有时效性的php加密解密函数代码
2013/06/19 PHP
ppk谈JavaScript style属性
2008/10/10 Javascript
jQuery中prepend()方法用法实例
2014/12/25 Javascript
javascript面向对象之访问对象属性的两种方式分析
2015/01/13 Javascript
Js的Array数组对象详解
2016/02/22 Javascript
JavaScript高级程序设计(第三版)学习笔记6、7章
2016/03/11 Javascript
JS延时器提示框的应用实例代码解析
2016/04/27 Javascript
AngularJS基础 ng-cut 指令介绍及简单示例
2016/08/01 Javascript
vue项目打包之开发环境和部署环境的实现
2020/04/23 Javascript
[01:03:27]Optic vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python实现批量转换文件编码的方法
2015/07/28 Python
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
在windows系统中实现python3安装lxml
2016/03/23 Python
Python 最大概率法进行汉语切分的方法
2018/12/14 Python
使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)
2020/01/18 Python
python模拟预测一下新型冠状病毒肺炎的数据
2020/02/01 Python
python能否java成为主流语言吗
2020/06/22 Python
灵活运用CSS3特性绘制简易版围棋效果
2016/09/28 HTML / CSS
常用的HTML5列表标签
2017/06/20 HTML / CSS
Html5与App的通讯方式详解
2019/10/24 HTML / CSS
印尼披萨外送专家:Domino’s Pizza印尼
2017/12/28 全球购物
小饰品店的创业计划书范文
2013/12/28 职场文书
客服服务心得体会
2013/12/30 职场文书
毕业生护理专业个人求职信范文
2014/01/04 职场文书
儿子婚宴答谢词
2014/01/09 职场文书
大学生活自我评价
2014/04/09 职场文书
毕业证委托书范文
2014/09/26 职场文书
查摆问题整改措施范文
2014/10/11 职场文书
学习党章的体会
2014/11/07 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
2015仓库保管员年终工作总结
2015/05/13 职场文书
事业单位工作人员2015年度思想工作总结
2015/10/15 职场文书
Python趣味挑战之给幼儿园弟弟生成1000道算术题
2021/05/28 Python
Java常用工具类汇总 附示例代码
2021/06/26 Java/Android
Python实现照片卡通化
2021/12/06 Python