Linux下Python执行C函数

本文介绍了一种通过编译C语言源代码为.so文件,并利用Python的ctypes库调用这些函数的方法。具体步骤包括使用gcc编译C代码生成动态链接库,然后在Python环境中加载该库并调用其函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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文件
[img]http://dl.iteye.com/upload/attachment/235949/d4c15783-227f-3ac8-95b6-4d5678f40dc2.png[/img]

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、运行

[img]http://dl.iteye.com/upload/attachment/235951/63d2f9ee-3d1b-3010-8836-463f51937ffe.png[/img]

5、结果截图
[img]http://dl.iteye.com/upload/attachment/235953/14c18599-995f-3465-afba-3ceca861f322.png[/img]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值