python 调用c语言函数的方法

yipeiwu_com6年前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实现的tab文件操作类分享

类代码: # -*- coding:gbk -*- import os class TABFILE: def __init__(self, filename, dest_fi...

Python+Tensorflow+CNN实现车牌识别的示例代码

Python+Tensorflow+CNN实现车牌识别的示例代码

一、项目概述 本次项目目标是实现对自动生成的带有各种噪声的车牌识别。在噪声干扰情况下,车牌字符分割较困难,此次车牌识别是将车牌7个字符同时训练,字符包括31个省份简称、10个阿拉伯数字、...

python 获得任意路径下的文件及其根目录的方法

似乎有一段时间没有更新博客了,这里就写点小功能,轻松获得电脑任意路径下的文件及文件夹,并将其写入word,以下是主要代码: **import os** **from os impor...

Python中捕捉详细异常信息的代码示例

大家在开发的过程中可能时常碰到一个需求,需要把Python的异常信息输出到日志文件中。 网上的办法都不太实用,下面介绍一种实用的,从Python 2.7源码中扣出来的。 废话不说 直接上...

python requests.post带head和body的实例

如下所示: # coding = utf-8 import requests import json host = "http://47.XX.XX.XX:30000" endpo...