无名 发表于 2022-5-8 18:06:44

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

需要一部手机和一个聪明的脑子[滑稽][滑稽][滑稽]

先打开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("输入一个整数 "))

好,完成[滑稽][滑稽][滑稽][滑稽]
http://cdn.u1.huluxia.com/g3/M01/B6/F5/wKgBOV5t0QCAMl--AAO9TpF17PY826.jpghttp://cdn.u1.huluxia.com/g3/M01/B6/F5/wKgBOV5t0QGAMH_BAADrTEZw03U322.jpghttp://cdn.u1.huluxia.com/g3/M01/B6/F5/wKgBOV5t0QKAOVkzAAD30xrxBsQ313.jpghttp://cdn.u1.huluxia.com/g3/M01/B6/F5/wKgBOV5t0QOAQ1R9AAEV32E1UKw615.jpg
页: [1]
查看完整版本: 【技术分享】termux实现python调用c语言语句