这几天在整decode的问题,由于代码是C的,而且完全重写成python 的话也比较麻烦把,里面各种位运算跟强制转换。所以就想到一个使用python调用C来解决这个问题
python调用C,这就涉及到一个叫命令行的东西,这几天也在用高通的qcat之类的工具,图形界面的确是给了我们很大的方便。
但是啊,程序还是命令行的强,命令行简单易懂,关键是就几个输入就几个输出,好了 开始这方面的演绎
先创建一个C程序 我的C程序如下
#include
int main(int argc,char**argv)
{
printf("hello\n");
//输出输入的第一个参数的值
printf("argc %d argv %s\n",argc,argv[1]);return 20;
}
编译好之后 使用如下的.py 调用
import os
data= "testdemo heheh"runcmd= './test'ret= os.system(runcmd +data)
print(ret)
输出如下
hello //这个是C程序的输出
argc3argv testdemo //这个也是C程序的输出5120 //51为上一个程序成功执行 20 为返回值
具体os.sytem() 函数的返回值信息如下博文 :http://xingyunbaijunwei.blog.163.com/blog/static/76538067201341342330373/
我这里也具体粘贴一下,恩 很长
"OS error code 1: Operation not permitted"
"OS error code 2: No such file or directory"
"OS error code 3: No such process"
"OS error code 4: Interrupted system call"
"OS error code 5: Input/output error"
"OS error code 6: No such device or address"
"OS error code 7: Argument list too long"
"OS error code 8: Exec format error"
"OS error code 9: Bad file descriptor"
"OS error code 10: No child processes"
"OS error code 11: Resource temporarily unavailable"
"OS error code 12: Cannot allocate memory"
"OS error code 13: Permission denied"
"OS error code 14: Bad addre