【技术分享】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]