当前位置:首页 » 安卓系统 » 安卓系统如何设置c编译

安卓系统如何设置c编译

发布时间: 2025-01-30 10:32:21

‘壹’ 在安卓平台上安装 GCC 的方法

android上安装GCC的步骤腔衫:

1、准备文件:Terminal IDE.apk和GCC源文件。

2、解压整个ZIP文件,并先将Terminal.apk文件安装至手机中,然后把GCC整个文件一起放置到data/data/com.spartacusrex.spartacuside/files/system中。

3、者圆芦修改data/data/com.spartacusrex.spartacuside/files/目录下的.bashrc文件,添加以下代码:

export CPLUS_INCLUDE_PATH=$IDESYSTEM/gcc/arm-linux-androideabi/c++/include:$CPLUS_INCLUDE_PATH

export C_INCLUDE_PATH=$IDESYSTEM/gcc/arm-linux-androideabi/include:$C_INCLUDE_PATH

export PATH=$IDESYSTEM/gcc/bin:$PATH

4、将gcc/bin下的文件改一下名,arm-linux-androideabi-g++改为g++,arm-linux-androideabi-gcc则改为gcc。

5、完成后重启IDE即可使用GCC。

‘贰’ 如何用手机进行编程

这里介绍3种可以在手机上编程的app,分别是c语言编译器(c语言)、AIDE集成开发环境(java)、Qpython3(python),都不需要root,可以直接编写程序并运行,下面我简单介绍一下这3个app的安装和简单使用,主要内容如下:

1.下载安装,这里以我的vivo手机为例,直接打开“应用商店”,搜索“C语言编译器”,如下,直接点击下载安装:

测试代码如下,这里编写了2个函数,分别是2数之和和2数只差,很简单:

程序运行截图如下,需要先输入2个数,才能正常运行:

1.下载安装,这直接在应用商店里搜素“AIDE”就行,直接下载安装,如下:

这里测试一下,主要代码如下,官方自带的例子:

程序运行截图如下:

1.下载安装,这里直接在应用商店里搜索“QPython3”就行,直接下载安装,如下:

主界面如下,主要分为“终端”、“编辑器”、“程序”、“QPYPI”、“课程”、“社区”这6个模块,终端类似IDLE,编辑器类似记事本,QPYPI是第三方包和工具,程序存储官方自带的示例,课程是一些教学案例:

这里测试一下官方自带的例子—speaky.py,在“程序”这个模块下,代码如下:

点击运行按钮,程序运行截图如下:

至此,这3个app都介绍完毕。总的来说,使用起来都不错,各有各的功能,当然,还有许多其他的app也可以在手机上进行编程,像c4droid(c/c++),termux(高级终端,类似linux)等,这里我就不详细介绍了,感兴趣的可以在网上搜索一下,有相关教程和示例可供参考,希望以上分享的内容能对你有所帮助吧。

很高兴能回答你的问题

我就自己使用过的一些手机编程软件来进行说明。之前学习网页开发,为了让自己随时随地使用编程,携带方便。
第一种 html-css-js
这款软件,看着名字就知道是和html相关的网页开发,它是由踏宇 科技 开发的一款手机开发网页的APP。不仅有编程、编译功能,还可以进行网页开发学习,内附很多关于网页设计(css,js)。真正做到编写,学习两不误。

这是代码编写界面:

这是学习界面:

但哎,我现在基本不使用它来编程了,当你使用到手机键盘里的,你就知道为啥了。
第二种,C++pro
这一款手持编程APP软件,是我比较喜欢的一款,功能很强大,不仅可以编写C语言、C++、C#而且还可以编写PHP、Nodejs、go等。可以说,你拥有了这一款APP,就相当于同时拥有了多个编程APP软件啦。

这是打开后的主界面。不难发现有很多种语言的编写模块。更加强大的是,它还可以在编写代码后做一个选择,选择要运行的语言工具。

当然如果大量代码运行的话,可能会比较迟缓。

两款手机编程APP分享给大家!

这里介绍3种可以在手机上编程的app,分别是c语言编译器(c语言)、AIDE集成开发环境(java)、QPython3(python),都不需要root,可以直接编写程序并运行,下面我简单介绍一下这3个app的安装和简单使用,主要内容如下:

1.下载安装,这里以我的vivo手机为例,直接打开“应用商店”,搜索“C语言编译器”,如下,直接点击下载安装:

测试代码如下,这里编写了2个函数,分别是2数之和和2数只差,很简单:

程序运行截图如下,需要先输入2个数,才能正常运行:

1.下载安装,这直接在应用商店里搜素“AIDE”就行,直接下载安装,如下:

这里测试一下,主要代码如下,官方自带的例子:

程序运行截图如下:

1.下载安装,这里直接在应用商店里搜索“QPython3”就行,直接下载安装,如下:

主界面如下,主要分为“终端”、“编辑器”、“程序”、“QPYPI”、“课程”、“社区”这6个模块,终端类似IDLE,编辑器类似记事本,QPYPI是第三方包和工具,程序存储官方自带的示例,课程是一些教学案例:

这里测试一下官方自带的例子—speaky.py,在“程序”这个模块下,代码如下:

点击运行按钮,程序运行截图如下:

至此,这3个app都介绍完毕。总的来说,使用起来都不错,各有各的功能,当然,还有许多其他的app也可以在手机上进行编程,像c4droid(c/c++),termux(高级终端,类似linux)等,这里我就不详细介绍了,感兴趣的可以在网上搜索一下,有相关教程和示例可供参考,希望以上分享的内容能对你有所帮助吧。

用手机进行编程,也是脑洞大开了啊,不过话说回来,手机上到底能不能进行编程呢?当然是可以的,现在手机的性能可以说不亚于电脑的,那么我下面给大家分享几个用手机编程的办法。
1.c语言编译器
这个软件可以说是学习c语言的实用工具了,给大家介绍一下它的特点,就是小,没错内存只有10M左右,而且软件干净啊,使用起来没有什么广告,用起来效率也是非常高的。

2.JAVA编辑器
如果你喜欢使用JAVA这个语言的话,这款软件留非常的适合你,专门做JAVA代码开发,你可以用它做一些小 游戏 ,功能非常的强大,而且使用的功能又很简单。

可以在线编辑demo 跑基本环境 但是涉及到功能模块开发 还是需要电脑的,

手机只能简单编辑脚本 以及 代码的部分存储

坐公交坐地铁或排队等待的时候闲着没事可以在手机上编程学习,但是总得来说手机上编程不怎么舒适。

第一款: pythonista3 phython编程app,特点:编写方便,交互感强,API强大

a.编辑器包含: 1. 语法高亮 2.自动补全符号 3.个性化python键盘 等功能

b.清晰的标签,让你在各个文件间轻松切换!

c.完美的提示窗口,手机上编写命令行也能从容自如

d.方便的2d引擎库,快速写出一个小 游戏 吧

第二款: mimo 学习编程app,特点:适合学习,操作简单,界面萌化

a.趣闻教学: 可以选择一门语言进行学习,内容非常易懂,操作也简单,mimo支持23种编程语言的教程,值得玩一玩。

b.编辑也很方便

第三款:my phython quiz 帮你复习python的app。 特点:碎片化学习

没事在路上多刷刷题吧,有助于增强熟练度。

第四款: Udacity 目前最全,最优质的编程课程app。 特点:老师优质,硅谷资源,最新 科技

屏幕太小了,小心点眼睛。

网络搜索以下软件,或者编程器

NO.1 c4droid

一款手机上的c语言编译器。

个人认为手机上最好用的,没有之一!c4droid是款Android设备上的C/C++程序编译器。

NO.2 AIDE

功能强大,内置学习教程。

AIDE是一个Android Java集成开发环境,可以让你在Android系统内进行Android软件和 游戏 的开发。

NO.3 我的应用iapp

专为手机研发,代码编写简单,学习容易。

iapp还很年轻,特别需要大家的支持!

NO.4 cppdroid

和c4droid一样,是一款手机上的c语言编译器。

安卓上的C/C++编译环境,可以帮助你在手机上编写c/c++程序 ,和c4droid各有优点,cppdroid最大的优点就是可以即时报错,写一个字符就检查一遍,保证程序的正确性,而且编译速度快,虽然还有部分地方赶不上c4droid,但是和c4droid搭配还是不错的。

网络可以查查

‘叁’ 如何在Android中使用汇编语言

由于Android环境非常复杂,框架都是用Java,因此要使用C/C++都需要做很多配置,使用汇编的话需要做更多的工作。
我这边使用的是最新的Android4.0的开发工具,NDK也是最新支持4.0的。这个NDK与老版本的有一些比较明显的不同。
由于我用的是Mac OS X,因此配置起来比瘟抖死上的要容易许多,你不需要再装些杂七杂八的第三方工具,直接可以使用你下载好的NDK。
首先,设置目标路径——在你的Terminal中进入NDK的根目录,随后打NDK_PROJECT_PATH="<你要编译的项目路径>"。回车,再输入export NDK_PROJECT_PATH
回车。
这里要注意的是NDK_PROJECT_PATH=后面的路径需要加引号,否则无效。
由于NDK默认支持的默认编译选项仅支持ARMv5到ARMv5TE架构,因此如果要使用比较高级的特性的话有两种方法:
1、你有办法将TARGET_ARCH_ABI的值变为armeabi-v7a,俺自己试了一下,木有成功。因此可以使用第二种方法,更简单便捷:
2、在你的NDK目录下,找到toolchains,然后找到arm-linux-androideabi-x.y.z目录,在进去可以发现setup.mk文件。找到-march=armv7-a,将上面的神马#ifdef都去掉,下面的#endif也都删了。这样就能确保编译器使用ARMv7A来编译。
完成上述操作之后我们就可以先用最简单的方式来写汇编了,即内联汇编——

static int my_thumb(int mmy)
{
__asm__("movw r0, #1001 \t\n"
"movw r12, #2020 \t\n"
"add r0, r0, r12 \t\n"
"bx lr");

return mmy;
}

jstring
Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env,
jobject thiz )
{
my_thumb(0);
return (*env)->NewStringUTF(env, "Hello from JNI !");
}


上述代码其实就是基于NDK自带的hello-jni项目修改的。最后用ndk-build可以成功编译。

上面一段代码是编译器默认的使用Thumb/Thumb-2编译的,因此我里面写的内联汇编的指令都是Thumb代码。
我们下面将讲述一下如何使用ARM代码并使用NEON指令集。
首先,在你的Android.mk中修改LOCAL_SRC_FILES,要将源文件名后面添加.neon后缀,比如LOCAL_SRC_FILES := hello-jni.c改成LOCAL_SRC_FILES := hello-jni.c.neon。
这里要注意的是你真正的源文件名不要修改,就修改LOCAL_SRC_FILES这个符号的值即可。
然后我们再添加新的变量,来指示ARM GCC使用ARM指令集来编译——LOCAL_ARM_MODE := arm
这样就OK了。我们修改一下代码:

static int my_arm(int mmy)
{
__asm__("movw r0, #1001 \t\n"
"movw r12, #2020 \t\n"
"add r0, r0, r12 \t\n"
"vp.32 q0, r0 \t\n"
"bx lr");

return mmy;
}

jstring
Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env,
jobject thiz )
{
my_arm(0);
return (*env)->NewStringUTF(env, "Hello from JNI !");
}


使用ndk-build后能正常通过编译。
最后再上个最最高端的。直接写汇编文件。NDK带有GAS工具,因此按常理,完全可以写汇编文件。一般汇编文件的后缀名为.s,因此我们创建一个xxx.s文件即可。
然后我这边创建一个叫hey.s。在Android.mk中将这个文件添加上:LOCAL_SRC_FILES += hey.s.neon
我们这里看到,为了能在汇编文件中使用NEON指令集,我们在这里也把.neon后缀添加上。汇编器的makefile也认这个标识。
我们编辑hey.s文件:

.text
.align 4
.arm
.globl my_real_arm
my_real_arm:
add r0, r0, #256
vmov q0, q1
vp.32 q0, r0
bx lr
这里要注意的是,在Apple的汇编器中,函数名要加前缀下划线,而NDK中提供的汇编器则不需要。
我们修改一下hello-jni.c,把这函数调进去:

extern void my_real_arm(int i);

static int my_arm(int mmy)
{
__asm__("movw r0, #1001 \t\n"
"movw r12, #2020 \t\n"
"add r0, r0, r12 \t\n"
"vp.32 q0, r0 \t\n"
"bx lr");

return mmy;
}
jstring
Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env,
jobject thiz )
{
my_real_arm(0);
my_arm(0);
return (*env)->NewStringUTF(env, "Hello from JNI !");
}
当然,我们为了确保编译器能够正确地将ARM和Thumb指令集做混合连接,我们可以在刚才的setup.mk中强制在TARGET_CFLAGS标志里加上-mthumb-interwork
在Windows操作系统中试验,终于发现,只要将Application.mk中的APP_ABI中的标志,将armeabi去掉,仅留下armeabi-v7a就能顺利使用neon了。这样不需要修改setup.mk,也不需要将Sample中的那个标志判断去掉,非常方便。
下面列一下可用的Android.mk编译配置文件:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := HelloNeon
LOCAL_SRC_FILES := helloneon.c
LOCAL_ARM_MODE := arm
TARGET_CFLAGS += -mthumb-interwork
TARGET_CFLAGS += -std=gnu11
TARGET_CFLAGS += -O3
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
LOCAL_CFLAGS := -DHAVE_NEON=1
LOCAL_SRC_FILES += neontest.s.neon
LOCAL_ARM_NEON := true
endif
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)
$(call import-mole,cpufeatures)
在使用JNI时,只需要在你当前项目工程目录中添加jni文件夹,然后在里面根据Sample中所提供的文件布局来做即可。当你用ndk-build(Windows下要在cygwin控制台中用ndk-build.cmd)来编译时, 如果构建成功,则会在libs文件夹内生成一个libXXX.so。然后用Eclipse ADT重新打开你的项目工程,就会发现jni文件目录以及生成好的so文件都会在你的工程文件目录中展现出来。当然,你后面也能直接在Eclipse IDE下编辑.s汇编文件,这样就更容易阅读了。
最后,在Android汇编器中如果要注释某条语句,那么必须使用C89/90中的注释符——/* ... */
用分号以及后来C++98中所引入的//形式都不管用。
在最新的NDK版本android-ndk-r8d中加入了ARM-Linux GCC4.7以及当前大红大紫的LLVM Clang3.1。不过由于LLVM Clang3.1的很多编译选项与GCC有不少区别,因此在使用Clang3.1的时候需要自己去配置相应的编译选项。这个版本的NDK默认的编译器工具链使用的是GCC4.6版本。如果要使用GCC4.7,那么可以在Application.mk文件中添加NDK_TOOLCHAIN_VERSION=4.7;如果要使用Clang3.1,那么可以在Application.mk中添加NDK_TOOLCHAIN_VERSION=clang3.1。下面给出一个合法的Application.mk的内容:

# Build with LLVM Clang3.1
#NDK_TOOLCHAIN_VERSION=clang3.1

# Build with ARM-Linux GCC4.7
NDK_TOOLCHAIN_VERSION=4.7

# Build only ARMv7-A machine code.
APP_ABI := armeabi-v7a

以上参考豆丁网
南京宝云安卓培训课程火热报名中~

‘肆’ 安卓如何设置开机启动某个程序init.rc给你搞定

为了在Android设备开机后自动启动某个程序,我们可以利用init.rc配置文件来实现。以名为pengd的C语言编写的程序为例,该程序需要root权限进行网络操作。

首先,需要解压ramdisk.img文件,假设名为ramdisk_new。接着,修改init.rc文件。请注意,文件的结尾必须为空行,否则编译时会出错。init.rc文件的具体配置方式应参照实际设备厂商提供的SDK中的ramdisk文件。

将程序pengd直接拷贝到设备的bin目录或其他相关目录中。重新压缩ramdisk文件。此时,设备开机后会自动运行pengd程序。

为了验证程序是否成功启动,可以使用adb shell命令登录设备并执行查看进程的命令。

init.rc是init进程启动的配置脚本,它使用了Android初始化语言编写。init进程作为Android系统的第一个进程,负责执行初始化任务,如挂载文件系统、初始化属性系统和Klog、selinux等。init.rc脚本由四种类型的声明组成:动作、命令、服务和选项。

动作是响应事件的过程,例如在early-init触发时执行一系列命令。命令在条件触发后逐条执行。init.rc中的常见触发条件包括硬件状态、时间、系统事件等。常见的命令有启动、停止、重启服务等。

服务是可执行程序,在特定选项约束下由init程序运行或重启。服务的启动和运行行为由选项定义,常用的选项包括启动时间、运行方式等。

通过合理配置init.rc文件,我们可以在Android设备开机后自动执行特定程序,提高设备的自动化管理效率。

‘伍’ 手机能否装C语言编译器

可以装,不过需要安卓手机

安装步骤如下:

1、我们打开谷歌应用商店。在搜索框里输入mobile c查找应用程序。下载并安装好

6、可以看到这里正确的输出了Hello World字符串。

‘陆’ 安卓c语言编辑器怎么用

c4droid是款Android设备上的C/C++程序编译器,默认以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和命令行测试程序源码
安装:
先安装主程序,然后在安装三个扩展库。
c4经常遇到的问题及其解决方法:case 1:为什么每一次点run总会提示permission。。。。的啊?
因为你没有root,如果root了还出现说明你是android2.2或者2.3.4,此时换一个刷机包就ok了。
case 2:我安装上了gcc,并且把编译器调成gcc了,但是每次 #include<SDL.h> 都会说“no such file or directory!”
你试试写成“#include <SDL.h>”(include和<>之间加一个空格),这才是标准写法,不这样写默认为terminal 模式。
使用:打开主程序,代码敲好以后,点击Compiled,也就是编译,如果出现Successfully compile 如图那样的则代表编译成功了。如果有错误则会出现error,我们根据提示,自己找到错误的地方。编译好以后,点击run就可以运行了,和电脑一样。
c4droid还支持保存代码,编写好以后可以点击save保存。
c4droid还支持打开代码文件,可以是txt格式也可以是无格式文本。

热点内容
安卓扁头充电线长什么样 发布:2025-01-31 00:18:38 浏览:312
ecc签名算法 发布:2025-01-31 00:18:30 浏览:663
打字软件苹果和安卓哪个好用 发布:2025-01-31 00:15:04 浏览:238
cftp删除目录 发布:2025-01-31 00:02:23 浏览:184
汇智凌云服务器地址怎么填 发布:2025-01-31 00:00:49 浏览:439
汽车先锋导航工厂密码是多少 发布:2025-01-30 23:59:18 浏览:356
算法退出点 发布:2025-01-30 23:59:03 浏览:874
巴巴运动网源码 发布:2025-01-30 23:41:34 浏览:160
服务器能用动态ip 发布:2025-01-30 23:37:15 浏览:220
安卓如何亲密关系认证 发布:2025-01-30 23:24:41 浏览:85