博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android下运行c程序
阅读量:7036 次
发布时间:2019-06-28

本文共 823 字,大约阅读时间需要 2 分钟。

在android的设计中,谷歌设计了一套专门为嵌入式设备使用的bionic C库,以替换原有的GUN Libc,这个精简的bionic库据说只有200多K,所以如果只想使用这个精简的C库像在linux下一样 开发C程序,基本是不可能的。当然如果只想让其在shell中运行还是可以做到的。

因为编译完的目标程序是在android下运行,就要使用交叉编译的工具,在下面地址下载:

http://www.codesourcery.com/gnu_toolchains/arm/download.html

下载完之后,bin目录下的arm-none-linux-gnueabi-gcc就是交叉编译器了

#include 
int main() { printf("nihao a\n"); printf("你好 啊\n"); return 1;}

输入一下命令:

./arm-none-linux-gnueabi-gcc hello.c -o hello -static

-static选项在这里是必须的,否则会出现”not found”的错误。

然后就可以把编译好的hello传到手机上运行了。不过这里有个前提条件,要求android机器必须是root过的,好像简单的z4root还不行,必须使用更彻底的root方法,关于如何root,这里就不再赘述了,可以参考相关root的帖子。

adb push hello /dev/sample/

这里要上传的目录必须是root用户所有的。

然后就是运行程序,可以在adb shell里测试

adb shell

cd /dev/sample/

chmod 777 hello

./hello

或者在手机上安装超级终端,在终端里运行

./hello

转载于:https://www.cnblogs.com/mahang/archive/2011/09/02/2163355.html

你可能感兴趣的文章
微软下周将发布三个补丁 仍有漏洞未修复
查看>>
QunInfo群数据库的还原与优化
查看>>
LaTex:图片排版
查看>>
对比两个同类型的泛型集合并返回差异泛型集合 ——两个List<类名>的比较
查看>>
使用 ContentProviderOperation 来提升性能
查看>>
I.MX6 AW-NB177NF wifi reset
查看>>
command >/dev/null 2>&1 解说
查看>>
磁盘分区知识总结
查看>>
从尾到头输出链表
查看>>
List
查看>>
手写Ajax登陆页面
查看>>
android 在新建短信时,加入名称为","(英文逗号)的联系人时,应用崩溃的修改
查看>>
HDU 1232 畅通工程
查看>>
python学习——截图工具编写
查看>>
linux下安装vsftp
查看>>
如何查看python selenium的api
查看>>
hadoop每个家庭成员
查看>>
【LeetCode】273. Integer to English Words
查看>>
如何使用 awk 复合表达式
查看>>
将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)(转)...
查看>>