`
忧里修斯
  • 浏览: 432234 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Linux下Python执行C函数

阅读更多
1、util.c代码如下:
#include<stdio.h>

void display(char* msg){

    printf("%s\n",msg);

}

int add(int a,int b){
    return a+b;
}


2、编译c代码,最后生成Python可执行的.so文件
(1)gcc -c util.c,将生成一个util.o文件
(2)gcc -shared util.c -o util.so,将生成一个util.so文件


3、在Python中调用
test.py代码如下:
#!/usr/bin/python

from ctypes import * 
import os  
//参数为生成的.so文件所在的绝对路径
libtest = cdll.LoadLibrary(os.getcwd() + '/util.so')  
//直接用方法名进行调用
print libtest.display('Hello,I am Dream')  
print libtest.add(11,100)


4、运行



5、结果截图
  • 大小: 3.6 KB
  • 大小: 11.4 KB
  • 大小: 1.9 KB
分享到:
评论

相关推荐

    linux 下 python调用c或者c++编写的代码使用案例

    在Linux环境下,Python作为一种强大的脚本语言,常常需要与C或C++等底层语言交互以提升性能或利用现有的C/C++库。本案例提供了解决这一需求的四种不同方法,适用于那些希望在Python中调用C或C++代码的开发者。下面...

    linux下使用python调用海康威视SDK包

    在Linux环境下,使用Python调用海康威视(Hikvision)的SDK包是一个常见的任务,这主要涉及到视频监控系统的远程访问和控制。海康威视作为全球领先的安防产品及解决方案提供商,提供了丰富的SDK供开发者集成到自己的...

    python 调用c语言函数的方法

    为了结合两者的优点,Python提供了调用C语言函数的能力。这篇文章将详细介绍如何在Python中调用C语言编写的函数。 首先,我们需要在C语言中编写一个函数。例如,创建一个名为`hello.c`的文件,包含以下内容: ```c...

    python 调用c语言函数的实例讲解

    ### Python调用C语言函数实例详解 在编程领域中,Python因其简洁易读的语法、强大的第三方库支持以及跨平台特性而备受青睐。然而,在处理性能密集型任务时,C语言由于其对底层硬件的直接控制能力而展现出无可比拟的...

    在linux下安装python模块出现错误(csdn)————程序.pdf

    在Linux环境下安装Python模块时,有时会遇到各种错误,这些错误通常是由于系统缺少必要的依赖或者配置不正确导致的。在给定的文件描述中,出错内容提到了`c/_cffi_backend.c:15:17: 致命错误:ffi.h:没有那个文件或...

    linux与python.doc

    实验报告涉及了Linux系统安装与使用基础、Python程序运行方式和程序流程控制、Python函数以及Python面向对象程序设计四个主题。下面将详细阐述这些知识点。 一、Linux系统安装与使用基础 1. 安装Linux(CentOS 7)...

    使用c语言编写动态链接库(linux下.so文件,windows下dll文件),使用python调用c语言接口。.zip

    4. **C语言接口设计**:为了使Python能够调用C语言的函数,接口必须遵循Python的C API规范。这包括定义C函数,使用`extern "C"`避免C++的名称修饰,以及定义Python模块初始化函数。 5. **Python的C扩展**: - 使用...

    python调用C语言动态库例程

    总之,Python调用C语言动态库的能力极大地拓宽了Python的应用范围,让开发者能够充分利用底层优化的代码,提高程序的执行效率。通过学习和实践这一技术,开发者可以更好地应对性能敏感的场景,实现更多可能性。

    python调用C的例子

    在IT领域,跨语言编程是常见需求之一,尤其是在性能敏感的应用场景下,使用如C或C++这样的编译型语言可以显著提升程序的执行效率。然而,在开发过程中,我们往往需要利用Python这样的脚本语言来处理逻辑较为复杂、...

    Python整合C语言模块[收集].pdf

    这样,Python程序可以调用C语言编写的函数,传递和接收C类型的参数。 下面是一个简单的示例,展示了如何使用ctypes调用C语言的函数: ```python from ctypes import * # 假设有一个C函数原型:int add(int a, int...

    so编写和Python调用.so文件

    本教程聚焦于如何在Linux环境下使用C++编写`.so`动态链接库,并通过Python进行调用,这对于初学者来说是一个很好的实践项目。`.so`文件是Linux系统中的动态链接库,它包含可被其他程序共享的函数和数据。 首先,...

    Python调用windows下DLL

    在Windows下,大部分API函数使用stdcall约定,而C语言函数通常使用cdecl约定。因此,当你知道DLL函数的调用约定时,可以使用`ctypes.windll`或`ctypes.cdll`来加载DLL: - stdcall调用约定:`ctypes.windll....

    用C语音编写python的扩展模块,也就是python调c库

    4. **运行构建**:执行`python setup.py build`来编译C代码,生成`.so`(Linux/MacOS)或`.pyd`(Windows)动态链接库。 5. **安装模块**:使用`python setup.py install`将编译后的模块安装到Python的site-...

    arm-hisiv500-linux编译的python3.9及其库文件,可以直接在海思平台上运行

    - CPython解释器:这是Python的默认实现,由C语言编写,负责解析和执行Python代码。 - 核心标准库:包含了Python内置的模块,如`os`, `sys`, `math`, `json`等。 - 开发头文件和库:对于开发者来说,这些是必要的,...

    linux使用python通过pyrfc连接SAP使用的nwrfcsdk

    在IT行业中,Linux系统常被用作服务器操作系统,而Python是一种强大的编程语言,广泛应用于自动化、数据处理和接口开发等领域。在与SAP系统交互时,我们常常需要通过编程方式来调用SAP的RFC(远程功能调用)接口。这...

    python调用c

    由于C语言的执行效率通常高于Python,因此,对于性能敏感的部分,使用Python调用C可以显著提高程序运行速度。 10. **封装复杂逻辑**: 对于复杂的计算任务或系统级操作,C代码可以更好地管理内存和资源,从而提供...

    ctypes--Python调用c接口.pdf

    Ctypes是Python的一个扩展库,允许Python代码直接操作C语言的数据类型,并调用C库中的函数。 描述中提到,ctypes是Python的新特性,加入于2.5版本中。它是一个外部函数库,为Python提供了与C语言兼容的数据类型,并...

Global site tag (gtag.js) - Google Analytics