python 调用c语言函数的方法

yipeiwu_com7年前Python基础

虽然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实现扣除个人税后的工资计算器示例

Python实现扣除个人税后的工资计算器示例

本文实例讲述了Python实现扣除个人税后的工资计算器。分享给大家供大家参考,具体如下: 正好处于找工作期间避免不了会跟单位谈论薪资的情况,当然所有人跟你谈的都是税前收入,税后应该实际收...

Python Pandas 如何shuffle(打乱)数据

Python Pandas 如何shuffle(打乱)数据

在Python里面,使用Pandas里面的DataFrame来存放数据的时候想要把数据集进行shuffle会许多的方法,本文介绍两种比较常用而且简单的方法。 应用情景: 我们有下面以个D...

Python制作词云图代码实例

Python制作词云图代码实例

词云图是将词汇按照频率的高低显示不同大小而形成的图,可以一目了然地看出关键词。下面是词云图的python代码~ #导入需要模块 import jieba import numpy a...

Python基于递归算法实现的走迷宫问题

本文实例讲述了Python基于递归算法实现的走迷宫问题。分享给大家供大家参考,具体如下: 什么是递归? 简单地理解就是函数调用自身的过程就称之为递归。 什么时候用到递归? 如果一...

python getopt 参数处理小示例

opts, args = getopt.getopt(sys.argv[1:], "t:s:h", ["walletype=", "servicename=",'help']) for...