在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 <stdio.h>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

Android下运行c程序

更多相关文章

  1. .net程序员业余Android开发赚点外快(介绍一下自己的经验)
  2. Android应用程序窗口(Activity)的窗口对象(Window)的创建过程分析
  3. 避免android程序开发内存泄漏
  4. 快速转化J2ME程序为Android程序
  5. 如何在开发时可以让Android应用程序支持安装到SD卡
  6. Android手机端使用Zipalign优化apk应用程序
  7. Android的无边界程序设计理念
  8. 管理Android应用程序的资源

随机推荐

  1. XE5 Android(安卓)开发数据访问server端
  2. 引擎设计跟踪(九.14.2i) Android(安卓)GL
  3. Android系统RTC调试从驱动到应用(一)
  4. android之lint警告This Handler class sh
  5. android 动画原理源码分析之Animation
  6. Eclipse下查看Android源代码
  7. Android(安卓)下拉刷新上拉加载
  8. Android(安卓)获取指向Resource的URI[转]
  9. 关于android 内存的笔记
  10. Android(安卓)ApiDemos示例解析(89):OS->