安卓60编译器
Android是用java开发的,需要专门的与Android版本配套的IDE来开发。
Ⅱ 手机能否装C语言编译器
可以装,不过需要安卓手机。
安装步骤如下:
1、我们打开谷歌应用商店。在搜索框里输入mobile c查找应用程序。下载并安装好
6、可以看到这里正确的输出了Hello World字符串。
Ⅲ c4droid 安卓上的c++编译器如何使用
先安装主程序,然后在安装三个扩展库。
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格式也可以是无格式文本。
Ⅳ 安卓开发用什么编译器………
android studio以及eclipse
Android Studio 是一个Android开发环境,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。
而Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。
Ⅳ 安卓有没有什么好的编译器(像PyCharm或sublime,最好可以直接运行的)在平板上用
这个应用商店上搜就行了
不过安卓做开发效率可能不高,毕竟没键盘啊
Ⅵ 怎么使用Android源码编译c模块生成可执行文件
1. 在./development目录下创建一目录 如:myhello
2. 进入hello目录,在其下编写自己的.c文件,如: myhello.c
#include <stdio.h>
int main()
{
printf("hello world\n");
exit(0);
//return 0;
}
3. 在hello目录中,编写Android.mk, 内容如下:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := myhelloworld
LOCAL_SRC_FILES := myhello.c
LOCAL_MODULE_TAGS := optional
include $(BUILD_EXECUTABLE)
4. 回到Android源代码顶层目录,进行编译,make myhelloworld
5. 生成的可执行文件位于:out/target/proct/lotus/system/bin/ 目录下
6. adb push 到手机 /data 目录下,然后进入adb shell,到data目录下,执行./myhelloworld 皆可
手动编译连接【arm-eabi-gcc 的目录随andorid的版本而有变化,还有就是需要链接的文件如果比较多时,需要很多-l 就很麻烦了】
7、编译成目标文件:
#$(yourAndroid)/prebuilt/linux-x86/toolchain/[arm-eabi-4.2.1]/bin/arm-eabi-gcc -I bionic/libc/arch-arm/include/ -I bionic/libc/include -I bionic/libc/kernel/common -I bionic/libc/kernel/arch-arm -g -c helloworld.c -o hello.o
8、生成可执行代码:
#$(yourAndroid)/prebuilt/linux-x86/toolchain/[arm-eabi-4.2.1]/bin/arm-eabi-gcc -nostdlib -Bdynamic -Wl,-T,build/core/armelf.x -Wl,-dynamic-linker,/system/bin/linker -Wl,--gc-sections -Wl,-z,noreloc -o helloworld -Lout/target/proct/[generic]/obj/lib -Wl,-rpath-link=out/target/proct/[generic]/obj/lib -lc hello.o -entry=main
其中[ ]中部分根据实际情况修改
**************************************************
实验:
1. 建目录(my Android)/development/test, 在该目录下新建 Android.mk和fb_test.c文件
2. Android.mk文件
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := myfbtest
LOCAL_SRC_FILES := fb_test.c
LOCAL_MODULE_TAGS := optional
include $(BUILD_EXECUTABLE)
3. 以下为fb_test.c
#include <fcntl.h>
#include <linux/fb.h>
#include <sys/mman.h>
#include <linux/kd.h>
#include <stdio.h>
#define FBBIT_PER_PIXEL 32
#define FBBIT_PIXEL_IMAGE 16
#define PIXELS_WIDTH_BYTE 4
#define BYTE_PER_PIXEL 3
#define FB_GRAPHICS_PATH "/dev/graphics/fb0"
#define DEV_TTY0_PATH "/dev/tty0"
#define DISPLAY_ERROR -1
#define DISPLAY_SUCCESS 0
#define GET_BATTERYCAPACITY_ERR -1
#define MAX_STR 255
static struct {
int fd;
void *pixels;
struct fb_fix_screeninfo fixed;
struct fb_var_screeninfo var;
int align_xres;
} fb;
int getBatteryCapacity(void)
{
FILE *in;
char tmpStr[MAX_STR + 1];
char capfile[] = "/sys/class/power_supply/battery/capacity";
if (capfile == NULL)
return GET_BATTERYCAPACITY_ERR;
in = fopen(capfile, "rt");
if (in == NULL)
return GET_BATTERYCAPACITY_ERR;
if (fgets(tmpStr, MAX_STR, in) == NULL) {
printf("Failed to read battery capacity!\n");
fclose(in);
return GET_BATTERYCAPACITY_ERR;
}
printf("Battery capacity(ascii): %s\n", tmpStr);
fclose(in);
return 0;//atoi(tmpStr);
}
static int vt_set_graphicsmode(int graphics)
{
int fd, r;
fd = open(DEV_TTY0_PATH, O_RDWR | O_SYNC);
if (fd < 0)
return DISPLAY_ERROR;
r = ioctl(fd, KDSETMODE, graphics);
close(fd);
return r;
}
int display_init(void)
{
fb.fd = open(FB_GRAPHICS_PATH, O_RDWR);
if (fb.fd < 0)
return DISPLAY_ERROR;
if (ioctl(fb.fd, FBIOGET_FSCREENINFO, &fb.fixed) < 0)
return DISPLAY_ERROR;
if (ioctl(fb.fd, FBIOGET_VSCREENINFO, &fb.var) < 0)
return DISPLAY_ERROR;
fb.align_xres = fb.fixed.line_length /
(fb.var.bits_per_pixel >> BYTE_PER_PIXEL);
fb.pixels = mmap(0, fb.fixed.line_length * fb.var.yres_virtual,
PROT_READ | PROT_WRITE, MAP_SHARED, fb.fd, 0);
if (fb.pixels == MAP_FAILED)
return DISPLAY_ERROR;
vt_set_graphicsmode(KD_GRAPHICS);
memset(fb.pixels, 0, fb.fixed.line_length * fb.var.yres_virtual);
//display_update(fb.pixels, fb.align_xres, fb.var.yres);
fb.var.activate = FB_ACTIVATE_FORCE;
ioctl(fb.fd, FBIOPUT_VSCREENINFO, &fb.var);
printf("display_init ok\n");
return DISPLAY_SUCCESS;
}
void display_on(void)
{
ioctl(fb.fd, FBIOBLANK, FB_BLANK_UNBLANK);
}
void display_off(void)
{
ioctl(fb.fd, FBIOBLANK, FB_BLANK_POWERDOWN);
}
int main()
{
display_init();
display_off();//关显示屏
getBatteryCapacity();
sleep(5);
display_on();//开显示屏
return 0;
}
Ⅶ 华为方舟编译器是干什么用的
华为的方舟编译器是属于系统内部底层的一个架构,类似于安卓底层架构来的,是手机运行的重要程序。
Ⅷ 手机有什么python编译器
现在越来越多人学习python,很多小伙伴都富有激情的,利用碎片化的时间都要学习,大家都知道pyhton是简单易学的,但是光说不练,假把式,最好能编程并且运行,最好能有一款在手机上可以随时随地编写python代码,而且功能齐全的app。下面为大家列举几种,我知道的手机上的python编辑器。(推荐学习:Python视频教程)
Android系统:
Python编译器是一款非常精炼的APP,主要为Python初学者提供直接运行的功能,能够随手验证一些小程序。
Python新手用户制作的一款手机编程学习工具,支持手机Python代码编译、脚本测试等功能,界面清爽,功能实用!
该软件支持直接从文件管理器中打开代码文件,方便用户浏览查看。
Qpython是一个Python引擎,只能运行在安卓系统上,它可以全图形界面操作,非常友好。
内置了一个Python编辑器,可以直接在手机上写Python代码,支持缩进,语法高亮等特性。
也内置了一个ftp,可以很方便的拷贝电脑上的py文件到手机上运行。
由于内置了SL4A,可以很方便的调用安卓操作系统的一些API做些有趣的事情,比如可以通过SL4A获取手机地理位置,打开蓝牙,发送手机短信,打开手机摄像头等等。
pydroid3,这是一个非常不错的手机python编程软件,它拥有非常强大的编译器,可以帮助您编辑python程序,pydroid3手机版不需要电脑也能够时刻提高您的个人代码编辑水平!
支持在命令行终端运行pip命令为pip命令提供了良好的图形化管理界面,自动检测代码导入的库如果没有安装会自动提示安装,支持kivy、matplotpb等推行库
pydroid3的符号面板比较丰富,避免了手机输入法中找符号的繁琐。
ios系统:
Pythonista是在iPad和iPhone上编写Python脚本的一个完整的开发环境。
它包含了许多示例:绘画游戏动画、图像处理、自定义用户界面和自动化脚本。
除了强大的标准库之外,Pythonista还提供了与本地iOS特性交互的广泛支持,比如联系人、提醒、照片、位置数据等等。全功能的代码编辑器Pythonista的专业代码编辑器提供语法高亮显示、智能代码完成以及专门为Python设计的扩展屏幕键盘。
一个方便的大纲视图允许您高效地浏览您的脚本,并且多个选项卡可以轻松地在更大的项目上工作。图形和多点触控Pythonista有很多易于使用的2D图形库、多点触控和音效库。你甚至可以使用加速度计来创造运动控制的游戏或互动实验。
更多Python相关技术文章,请访问Python教程栏目进行学习!以上就是小编分享的关于手机有什么python编译器的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!
Ⅸ 方舟社区是骗子吗
在华为声称“方舟编译器,可通过架构级优化让系统操作流畅度提升24%,安卓应用流畅度可提升60%”以来,编译器这个概念就被带火了,方舟编译器也被媒体热炒。
日前,华为方舟编译器在鲲鹏社区上架,根据网站上公布的资料,方舟编译器的介绍为:
方舟编译器是基于GCC开发的交叉编译器套件,它包括了C、C++、Fortran的前端,也包括了这些语言的库(如libstdc++、libgcc等)。HCC运行在X86 linux架构服务器上,生成的二进制运行在Aarch64 架构服务器上。
一位朋友告知:
有人比较了一下,华为的方舟和GCC没有区别,只有非常少的部分不一样,方舟编译器压缩包还是叫gcc-ark。
之后,基于不为人知的原因,鲲鹏社区的方舟编译器火速下架,原网址链接也被和谐了。
关于华为鲲鹏社区上公布的方舟编译器资料,铁流咨询了业内人士,回复是:
交叉编译器,就是在x86上编译出arm的二进制代码。gcc本身就做得很好了......动态二进制翻译器,可以把x86应用程序动态翻译为ARM指令集,执行在ARM服务器上。估计效率可以达到70%左右......方舟中最核心的应该是支持动态二进制翻译。
可以说,华为鲲鹏社区上公布的方舟编译器是服务于华为ARM服务器的,由于ARM在服务器上的生态相对于X86差距过大,很多软件不支持ARM。而ARM服务器要推广,需要支持大量没有源代码的x86程序。这项应用能跑二进制代码,而当前二进制翻译效率都不是很高。所以华为打算用动态二进制翻译来弥补ARM在服务器生态上的不足。
用二进制翻译来弥补生态问题,这种思路其实早已不是什么新闻,当年的全美达就用二进制翻译兼容X86生态,最后被英特尔用专利诉讼拖死。ARM在智能手机领域火了之后,英特尔也用二进制翻译的做法来兼容ARM的生态,最终也是折戟沉沙。
之所以出现这种情况,主要是因为二进制翻译会造成性能损耗,以及二进制翻译未必能够完美解决兼容问题。就性能损耗来说,在翻译之后使英特尔的CPU性能只有原来的70%,凭空损失掉30%的性能后,使英特尔的CPU在移动端上性价比和性能功耗比这两项属性上都不如ARM,同时,移动端恰恰是对功耗指标非常敏感的,这使英特尔在市场竞争中非常不利。
还有就是兼容问题,以实际体验来说,铁流好友使用过联想搭载英特尔CPU的手机,日常使用问题不大,就是个别应用会时不时闪退。猜测可能是生态兼容方面依然存在一定问题。
而英特尔曾经面对的问题,将来华为可能都要面对。从实践上看,自己建生态才是正途,比如X86在PC和服务器的统治地位,以及ARM在智能手机上的统治地位,兼容别人的生态是投机取巧,走捷径的影响是根基不牢,结局是欲速则不达。如果没有政府输血和国企订单,在纯粹商业模式下,十有八九要悲剧。
由于鲲鹏社区上公布的方舟编译器是用在ARM服务器上的,因而铁流很疑惑为何会宣传“方舟编译器,可通过架构级优化让系统操作流畅度提升24%,安卓应用流畅度可提升60%”。
业内人士告知:
那他们应该把所有的几个系统统称为方舟编译器了......手机上重点是java虚拟机,执行的是安卓的应用,主要是java代码,也有部分ar二进制代码或者库。
对此,华为手机产品线副总裁李小龙发文回应称,华为云鲲鹏社区“这个网站不是华为消费者BG维护的网站,此编译器好像是服务器部门用的,和我们之前和P30 一起发布的方舟编译器没有任何关系。”
综合一下看,华为云鲲鹏社区的方舟编译器和华为消费终端的方舟编译器应该不是一个东西。不过,华为消费终端的方舟编译器也是过度炒作被神话的。
华为方舟编译器是如何做到第三方应用性能提升的?目前还没有官方的回应,而流传的消息则有两种。一种是说华为针对安卓原来的编译器进行了深度的魔改实现了性能的巨大提升,一种是说华为通过将Java代码绕过虚拟机直接翻译成机器码来实现的。当然还有一种混合的说法,即华为通过将Java代码绕过虚拟机直接翻译成机器码来对原来的编译器进行了深度的魔改。针对直接将Java代码翻译成底层机器码的方法,一般认为这当然有利于提升性能,但不利于应用程序的可移植性和可维护性以及操作系统的安全性。本次华为云鲲鹏社区的方舟编译器的下架事件,只不过是给被神话的方舟编译器降温挤水分而已。
另外,现在国内有一股拿开源改改就标榜自主的风气,比如此前的红芯浏览器。这种现象和以前的“汉芯”事件一样造成了很恶劣的影响。必须说明的是,“汉”、“红”都是有一定特殊含义的,这种做法造成的伤害不仅仅局限于信息产业。
铁流认为,基于开源软件做修改,就说明是某开源软件的修改版即可,比如鲲鹏社区的方舟服务器,就对就外宣传是GCC 7.3的修改版即可,不要标榜方舟编译器以免误导吃瓜群众。
类似的,华为GaussDB 数据库就标明是PostgreSQL9.2修改版,不要玩自主研发GaussDB 数据库的文字游戏。媒体在报道中出现了“外界也认为 GaussDB 内核具有超越现有开源数据库如 MySQL 与 PostgreSQL 的极致性能”,宣传上的文字游戏已经误导了不少人。
还有国内这些Linux操作系统,早期的Happy Linux、红旗Linux的叫法就挺好,把技术来龙去脉说的很清楚,现在各种麒麟OS,不了解内情的老百姓还真会被误导。
之所以出现这种现象,根源是在技术和国外有较大差距的情况下,又喜欢过度标榜自己,逐渐演变成了浮夸风。
华为鲲鹏社区方舟编译器上架后火速下架,根源是国内大环境充斥着浮夸风后翻车的结果,如果还是喜欢过分标榜自己,类似的事件不会是第一次,也不会是最后一次。
Ⅹ android 6.0的源码编译问题
看报错信息是找不到这个文件build/kati/Makefile.ckati。可能没有下载完全?
可以对比下别人的代码看有没有,或者可以问一些朋友要这个文件,实在没有。在ninjia.mk中把这行注释掉在编译试试。先make clean