当前位置:首页 » 安卓系统 » android运行c

android运行c

发布时间: 2022-07-26 03:22:34

‘壹’ 如何让android手机运行c程序

你可以用ndk开发包,sdk是跑java的,ndk是跑c或者c++的

‘贰’ c语言编写的程序可以直接在安卓上运行吗是不是基本上安卓上所有的都要通过jvm解释才能运行

当然可以,只需要安卓手机上安装C语言的编译器就可以了。如在手机上使用易历知食软件里的微C程序设计,就可以直接在安卓手机上写C语言程序并运行,下面是其自带的一个示例(熟悉的九九乘法表),手机上的代码如下图所示:

在手机上学习C语言编程就是这么简单!

‘叁’ 有没有手机可以运行的编程c语言的软件

C4droid是款Android设备上的C/C++程序编译器[2]
,默认以tcc(tiny
c
compiler)为编译器,可以选择安装gcc插件(20mb,只有root用户可以使用),选用gcc后,可以用sdl(简单直控媒体层库,需安装sdl
plugin
for
c4droid)和qt(nokia官方开发库,需安装sdl
plugin
for
c4droid)。也可以开发native
android
app(需安装sdl
plugin
for
c4droid),就像google
ndk一样。软件支持代码高亮,编译时间随cpu主频而定,主频越高编译越快。gcc插件版本4.7.2提供了示列程序,包含sdl,android
native,qt和命令行测试程序源码

‘肆’ 如何在Android系统上运行C语言的程序

本人使用mini6410开发了一个sqlite数据库的程序,在mini6410的linux系统下已经能够成功运行了。因为Android使用的也是linux内核,所以我想当然的认为按照同样的方法将程序移植到mini6410的android系统中也可以成功运行,但是当我运行程序的时候却提示我不能找到可执行文件(xlisten-arm是交叉编译出来的可执行文件):

/ # ./xlisten-arm
/system/bin/sh: ./xlisten-arm: not found

1.探索:

在网上搜索起初认为可能是库文件的不全导致的,于是在查看可执行文件xlisten-arm所需要的动态链接库:

执行语句:
# arm-linux-readelf -a ./xlisten-arm | grep "Shared"
0x00000001 (NEEDED) Shared library: [libsqlite3.so.0]
0x00000001 (NEEDED) Shared library: [libm.so.6]
0x00000001 (NEEDED) Shared library: [libcrypt.so.1]
0x00000001 (NEEDED) Shared library: [libpthread.so.0]
0x00000001 (NEEDED) Shared library: [libdl.so.2]
0x00000001 (NEEDED) Shared library: [libc.so.6]
知道所需的动态链接库后,到android文件系统中去照着写库文件,在目录/system/lib 中,果然缺少相应的库文件,于是认为找到了我问题的根源所在,在复制相应库文件的时候为了保留原来的属性,还特意用了

#cp -a filename dir
谁知将这些库都添加进去以后,仍然无济于事!

看来不仅仅事库文件缺失的问题了,而且一般来说,如果真的是因为缺少库文件而导致的问题,终端会提示我们链接某库文件时没有找到该库文件。

2.正确的解决方法:

将程序编译的时候选择静态编译,即使用选项 -static

我是对Makefile文件中的CFLAG变量进行修改

CFLAGS = -Wall

改为;

CFLAGS = -Wall -static

然而此时又出现问题了:

undefined reference to `pthread_mutex_*'

undefined reference to `dl*'

提示没有定义这些函数,于是在包含的库文件中添加了这两个库文件

在Makefile中,修改LIBS变量;

LIBS = -lsqlite3 -lm -lcrypt

改为:

LIBS = -lsqlite3 -lm -lcrypt -lpthread -ldl

然后进行交叉编译,成功了!

编译出来的可执行文件比较大,因为事静态编译的,我的有2M多,

拷贝到开发板的andriod系统中,

修改权限:

#chmod 777 xlisten-arm

执行:

/ # ./xlisten-arm

OK!能够正确的执行了!

‘伍’ 如何在android系统上执行c文件

本人使用mini6410开发了一个sqlite数据库的程序,在mini6410的linux系统下已经能够成功运行了。因为Android使用的也是linux内核,所以我想当然的认为按照同样的方法将程序移植到mini6410的android系统中也可以成功运行,但是当我运行程序的时候却提示我不能找到可执行文件(xlisten-arm是交叉编译出来的可执行文件): / # ./xlisten-arm /system/bin/sh: ./xlisten-arm: not found 1.探索: 在网上搜索起初认为可能是库文件的不全导致的,于是在查看可执行文件xlisten-arm所需要的动态链接库: 执行语句: # arm-linux-readelf -a ./xlisten-arm grep "Shared" 0x00000001 (NEEDED) Shared library: [libsqlite3.so.0] 0x00000001 (NEEDED) Shared library: [libm.so.6] 0x00000001 (NEEDED) Shared library: [libcrypt.so.1] 0x00000001 (NEEDED) Shared library: [libpthread.so.0] 0x00000001 (NEEDED) Shared library: [libdl.so.2] 0x00000001 (NEEDED) Shared library: [libc.so.6] 知道所需的动态链接库后,到android文件系统中去照着写库文件,在目录/system/lib 中,果然缺少相应的库文件,于是认为找到了我问题的根源所在,在复制相应库文件的时候为了保留原来的属性,还特意用了 #cp -a filename dir 谁知将这些库都添加进去以后,仍然无济于事! 看来不仅仅事库文件缺失的问题了,而且一般来说,如果真的是因为缺少库文件而导致的问题,终端会提示我们链接某库文件时没有找到该库文件。 2.正确的解决方法: 将程序编译的时候选择静态编译,即使用选项 -static 我是对Makefile文件中的CFLAG变量进行修改 CFLAGS = -Wall 改为; CFLAGS = -Wall -static 然而此时又出现问题了: undefined reference to `pthread_mutex_*' undefined reference to `dl*' 提示没有定义这些函数,于是在包含的库文件中添加了这两个库文件 在Makefile中,修改LIBS变量; LIBS = -lsqlite3 -lm -lcrypt 改为: LIBS = -lsqlite3 -lm -lcrypt -lpthread -ldl 然后进行交叉编译,成功了! 编译出来的可执行文件比较大,因为事静态编译的,我的有2M多, 拷贝到开发板的andriod系统中, 修改权限: #chmod 777 xlisten-arm 执行: / # ./xlisten-arm OK!能够正确的执行了!

‘陆’ 手机的Android系统能在手机上用C/C++编程吗

可以,有个手机编程软件叫做C4droid,专门用来编译C/C++文件的,要下载支持库,不大的,你可以看看

‘柒’ 如何在安卓上用C语言

害哥搞这个离线包搞了个把小时。为了清楚,上个图: 敲个LS,什么东西都没有,这个目录是cygwin的安装目录下面的home文件夹下的用户名文件夹。接下来是配置与Android相关的。在home/用户名,这个文件夹下有一个文件为.bash_profile,打开它,到最后添加两行NDK的环境变量:NDK_ROOT=/cygdrive/d/android-ndk-r6export NDK_ROOT上面的意思是,ndk的目录是,d:/android-ndk-r6添加完之后,关闭Cygwin重新启动一下,然后敲入cd $NDK_ROOT,是否进入到ndk的目录了?否则就看看哪个字母错了。在ndk的目录下samples下有很多例子,随便弄个就可编译了。下面是新建一个项目,以对C语言在项目中的位置更清楚。打开Eclipse新建一个Android项目,取名hellojni,为了清晰,便于维护,及各种各样的好处,JNI的JAVA代码单独一个类,单独一个包。其实最好能不用JNI就别用JNI,这东西负作用巨大,特别是在用到JNI复杂的地方,什么内存啊,类型啊,哪里调用的方法,异常啊,可靠性都非常麻烦。非要用JNI的复杂功能,做好两件事,做之前充分设计,设计之前充分学习一下JNI文档。当然对于一些简单的应用,那只需要充分仔细。作好参数,返回值的检查,记得释放内存就行了。
打字不易,如满意,望采纳。

‘捌’ Android程序可以调用C函数吗 我需要使用C访问Android底层,然后希望Android程序调用C程序。

在一些Android应用的开发中,需要通过JNI和 Android NDK工具实现JAVA和C/C++之间的相互调用。
Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI是本地编程接口,它使得在 Java 虚拟机 (VM)内部运行的 Java代码能够与用其它编程语言(如 C、C++和汇编语言)编写的应用程序和库进行交互操作。
NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。NDK集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。NDK可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作。

‘玖’ 安卓系统上能运行c语言的程序吗

可以的,只要编译器支持,C语言程序不像JAVA,最终都会被编译器编译成机器代码的,所以关键是编译器能不能编译成相关CPU和操作系统支持的代码。
dos是的批处理是不支持的。
编写手机软件目前主要还是用C和JAVA,C用得最多

‘拾’ 有能在Android系统上运行的c语言编程软件吗,推荐一下

C4droid是款Android设备上的C/C++程序编译器[2] ,默认以tcc(tiny c compiler)为编译器,可以选择安装gcc插件(20mb,只有root用户可以使用),选用gcc后,可以用sdl(简单直控媒体层库,需安装sdl plugin for c4droid)和qt(nokia官方开发库,需安装sdl plugin for c4droid)。也可以开发native android app(需安装sdl plugin for c4droid),就像google ndk一样。软件支持代码高亮,编译时间随cpu主频而定,主频越高编译越快。gcc插件版本4.7.2提供了示列程序,包含sdl,android native,qt和命令行测试程序源码。

热点内容
db2plsql 发布:2025-01-22 08:19:10 浏览:778
猪猪侠脚本没反应 发布:2025-01-22 08:08:37 浏览:811
赛博朋克跟永劫无间哪个配置高 发布:2025-01-22 08:07:07 浏览:534
请尽快上传 发布:2025-01-22 08:06:22 浏览:188
河北编程培训 发布:2025-01-22 08:01:42 浏览:591
a星算法视频 发布:2025-01-22 07:55:01 浏览:878
快手安卓怎么直播 发布:2025-01-22 07:54:58 浏览:937
买服务器搭建vpn 发布:2025-01-22 07:53:21 浏览:808
路由器忘记密码如何解 发布:2025-01-22 07:38:47 浏览:154
5分钟视频编译 发布:2025-01-22 07:36:33 浏览:772