`
忧里修斯
  • 浏览: 446619 次
  • 性别: 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调用海康威视SDK包

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

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

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

    python 调用c语言函数的方法

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

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

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

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

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

    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这样的脚本语言来处理逻辑较为复杂、...

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

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

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

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

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

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

    Linux下数据分析常用Python库介绍

    在Linux环境下使用Python进行数据分析时,存在一些广泛使用的第三方库,这些库能够帮助我们高效地处理各种数据运算、文件读取、数据库操作以及数据可视化等任务。以下是这些常用Python库的详细介绍。 一、文件读取...

    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-...

    Linux 下 Python 实现按任意键退出的实现方法

    ### Linux 下 Python 实现按任意键退出的实现方法 #### 背景与需求 在进行脚本开发或命令行工具编写时,我们经常会遇到需要让程序暂停等待用户输入的情况。在 Python 中,通常的做法是使用 `input()` 或 `raw_...

    linux及Python语法面试题.pdf

    - 每次调用 `next()` 方法时,生成器会从上次暂停的地方继续执行,直到遇到下一个 `yield` 表达式或函数结束。 **示例**: ```python def simple_generator(): yield 'A' yield 'B' yield 'C' # 使用示例 gen = ...

    python调用c

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

Global site tag (gtag.js) - Google Analytics