无名商城论坛

搜索
查看: 311|回复: 0

[其他技术] 【技术分享】termux实现python调用c语言语句

[复制链接]

1万

主题

1万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
32464
发表于 2022-5-8 18:06:44 | 显示全部楼层 |阅读模式
需要一部手机和一个聪明的脑子[滑稽][滑稽][滑稽]

先打开termux[滑稽][滑稽]

安装clang(当然你也可以用gcc,一个意思,用来编译c语言文件的)

pkg install clang

还有安装vim(安不安装无所谓,只是用来写代码的)

pkg install vim

安装好了之后先写一个c语言文件

vim pr.c

先点一下a进去编辑模式就可以写代码了
随便写点代码[滑稽][滑稽]

#include
int pr(int a){
if (a%2==0){
printf("是偶数");
}else if (a%2==1){
printf("是奇数");
}else{
printf("你是魔鬼吗");}
return 0;
}

保存一下 点ESC然后输入 :wq

然后编译成so文件
这就要用上刚才安装的clang了[滑稽]

clang pr.c -shared -o pr.so

参数说明 pr.c就是刚才写的c语言文件

pr.so是要编译成的so文件,叫不叫pr.so无所谓,也可以叫  楼主牛逼.so   不过缺点字太多了[滑稽][滑稽]

之后,就要在python调用刚才写的代码了
要用到python中的ctype库(应该是系统库)

写一个python程序

vim pr.py

文件名叫什么无所谓

先写一行,from ctypes import *

然后调用c语言代码,好吧调用刚才用c语言文件编译成的so文件。

关键代码 prm = CDLL("./pr.so")

参数说明 prm 变量名   pr.so 刚才编译成的so文件的文件名   

然后调用刚才在c里写的函数

关键代码 prm.pr()

例:
from ctypes import *
prm =CDLL("./pr.so")
prm.pr(input("输入一个整数 "))

好,完成[滑稽][滑稽][滑稽][滑稽]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表