android 能调用gcc_如何在命令行下使用Android NDK交叉编译工具

我们知道,在Linux下可以使用gcc来把一份C代码编译成为Linux上的可执行程序, 如:

$ gcc -o main.out main.c

而Android平台提供了NDK工具包来交叉编译可以运行于Android系统中的应用程序, 它需要我们编写 Android.mk来配置编译选项和编译目标, 那么, 能否也像gcc那样直接在命令行下编译呢?

答案是可以的, NDK只不过是把这个过程封装和抽象了而已, 我们完全可以直接调用 NDK 提供的编译工具链来编译我们的C代码, 方法如下所示(在命令行界面中执行):

1. 定义相关的目录(请修改为自己的相关目录)

$ export NDKROOT=/opt/android/android-ndk-r10

$ export SYSROOT=$NDKROOT/platforms/android-19/arch-arm

$ export GCC=$NDKROOT/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc

2. 编译代码

$ $GCC -o main.out main.c --sysroot=$SYSROOT

3. 执行程序

$ adb push main.out /data/local/

$ adb shell

$ /data/local/main.out

其核心思想其实很简单, 就是使用NDK提供的arm-linux-androideabi-gcc代替Linux下的gcc工具, 使用NDK提供的C头文件/库文件目录代替 Linux 下默认的目录, 其实, 使用gcc编译的时候默认的 sysroot设置为了本机的"/"目录, 等价于如下命令 :

$ gcc -o main.out main.c --sysroot=/

关于如何在命令行下使用Android NDK交叉编译工具就介绍到这里了,希望对大家有所帮助,有任何疑问或者建议欢迎留言或者来信lujun.hust@gmail.com交流,或者关注我的新浪微博 @卢_俊 获取最新的文章和资讯。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563383.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙系统有那些上市,鸿蒙上市整套系统究竟意味着什么

大家期待的鸿蒙系统已经上市,首先鸿蒙系统从自家的生态产品适配,大家熟知的华为笔记本,华为手机,华为平板,华为手表等,相比目前市场上的操作系统,IOS,安卓,微软Windows&a…

c# 时间格式化为英文_C# DateTime日期格式化

1. 分类DateTime调用ToString()传入的参数可分为制式和自定义两种:1) 制式:系统自带的,转入特定的单个字符就可转换为系统已设定好的格式。2) 自定义:自由组合日期代码(y、M、d、h、m、s、f)来展示丰富的日期格式。2. 制式类型说明…

html多个单元格合并单元格内容,excel怎样快速把多个单元格内容合并 合并多个单元格内容的设置方法...

excel是我们常用的办公软件,有时我们需要把多个单元个的内容合并到一个单元格里,那么excel怎样快速把多个单元格内容合并?下面小编带来合并多个单元格内容的设置方法,希望对大家有所帮助。合并多个单元格内容的设置方法&#xff1…

XP的用户账户使用了HTML界面,XP系统点击用户账户显示参数无效怎么办?WinXp下点击用户账户提示参数无效解决方案...

XP系统开机后,我们通常需要点击用户账户,然后输入账号密码后才能真正进入系统。不过,最近却有一些原因分析:WinXP用户帐户的主界面是一个基于HTML界面的程序,例如“用户帐户”中的“更改用户登录和注销的方式”等菜单&…

mysql5.5客户端_MySQL 5.5/5.6——概述 MySQL 客户端程序

本文内容 mysqlmysqladminmysqlcheckmysqldumpmysqlimportmysqlshowmysqlslap参考资料mysqlmysql 是一个可以输入行的 SQL 外壳,输入行可以编辑。它支持交互和非交互。当使用交互式,查询结果以一个 ASCII 表格式来显示。当使用非交互时(例如,…

mysql timestamp类型比较_MySQL timestamp 类型比较的测试

TIMESTAMP 类型字段与 CHAR 比较:BEGIN#Routine body goes here...DECLARE rdToday CHAR(10) DEFAULT CURDATE();DECLARE rdBegin CHAR(19) DEFAULT CONCAT(rdToday, 00:00:00);DECLARE rdEnd CHAR(19) DEFAULT CONCAT(rdToday, 23:59:59);SELECT mdc_ordertime FROM mz_drugre…

按网络中计算机所处的,按照网络中计算机所处的地位划分,计算机网络包括

按照网络中计算机所处的地位划分,计算机网络包括更多相关问题与横道计划相比,网络计划具有的主要特点有()等。A.网络计划能够明确表达各项工作之间的逻辑关系某新建项目包含多个单项工程,则该项目新增固定资产的计算应以()为对象。A.建设项目…

第一次使用mysql_第一次使用mysql,求帮忙

我用的是navicate,怎么把里面的数据库备份出来放到另外一个服务器里面啊,那个里面也装的是navicate回复讨论(解决方案)没用过navicate,它是一个图形化工具,应该有导入导出的按钮,找找看。没用过navicate,它是一个图形化…

计算机专业的求职信英文作文,计算机专业本科英文求职信范文

计算机专业本科英文求职信范文2017-07-24Dear leaders:Hello!First of all I would like to thank you through my自荐信busy, give me a chance to show themselves.I am a 2004 session of computer science graduates, in纵跨the threshold of the school and the community…

mac 如何配置mysql_MAC下安装与配置MySQL

一 下载MySQL访问MySQL的官网http://www.mysql.com/downloads/ 然后在页面中会看到“MySQL Community Server”下方有一个“download”点击。进入MySQL的下载界面(http://www.mysql.com/downloads/mysql/),如果你是用的Mac OS来访问的话那么就会默认为你选好了Mac O…

计算机专硕专业课难度,计算机考研:20考研的408难度如何?

原标题:计算机考研:20考研的408难度如何?2020年对于计算机考研来说风云突变的一年,去年夏天“专业课改考”一度成为计算机考研小伙伴们之间的热词。不少院校或改变、或增加专业课科目,借此提高专业课难度,增…

windows mysql4.1安装_Windows下,MySql的安装及配置(Install and Config of MySQL in Windows)...

电脑重新换了系统,需要安装MySQL。以前用MySQL的时候,从来没有详细配置过,这次从网上找了些资料,好好的配置了一下MySQL。发现以前见表的时候不能存储中文字段需要各处改的问题,其实在初始配置的时候都能解决掉的。OK&…

barrons ap计算机科学,巴朗ap心理学barrons ap psychology, 5th edition-201-240.pdf

巴朗ap心理学barrons ap psychology, 5th edition-201-240.pdf (C)Arousaltheorydescribesmotivationbyreferringtostagesinourresponsestostress(thegeneraladaptationsyndrome).Achievementmotivationisnotusedtodescribemotivationduetostress.(D)Apersonwithalowoptimumlev…

mysql数据超10亿条,大型主键:超过10亿行MySQL + InnoDB?

I was wondering if InnoDB would be the best way to format the table? The table contains one field, primary key, and the table will get 816k rows a day (est.). This will get very large very quick! Im working on a file storage way (would this be faster)? T…

河南大学计算机与信息工程学院张磊,张磊-食品与生物工程学院

【学术简介】学习经历:2008年9月-2013年6月,江苏大学,机械制造与自动化专业,博士学位。教学及研究经历:2013年7月-至今,江苏大学教师。【主讲课程】硕士研究生:《食品物理学》本科生&#xff1a…

21种mysql_让MySQL飞起来!别小看这21种写SQL的好习惯

前言每一个好习惯都是一笔财富,本文分SQL后悔药、SQL性能优化、SQL规范优雅三个方向,分享写SQL的21个好习惯,谢谢阅读,加油哈~​一、SQL后悔药1、操作delete或者update语句,加个limit在执行删除或者更新语句&#xff0…

vue create()获取ref_vue-next+typescript 初体验

无意间又一次刷到了尤大介绍 Vue 3 的文章,这次决定试一下 Vue 3 的 TypeScript 支持到底如何,不管别人说什么,只有自己用的舒服才是真的舒服。Vue 2 可是因为 ts 的缘故被喷的很惨,来看看 Vue 3 如何吧。值得注意的是&#xff0c…

怎么分辨学校计算机sql版本,怎么筛选出每个年级每个学校有多少个班级

SQL code学校代码 学校名称 年级 班级 姓名 学籍号 考号 语文 数学 品德 科学2 寿安 3 1 王佳浩 1.1518E11 302001 93 88 50 492 寿安 3 2 王玉娇 1.1518E11 302002 95 97 50 502 寿安 3 1 杨宇航 1.1518E11 302003 96 100 49 502 寿安 3 1 张梦婷 1.1518E11 302007 93 92 49 5…

递归算法1加到100_五种循环方法计算1加到100

上文讲过1加到100,详细解释了计算的过程&#xff0c;如果理解了以前的文章&#xff0c;就容易理解今天的内容了。1加到100使用VBA我能使用十来种方法&#xff0c;以下也是一种方法。While ……wend循环 Private Sub CommandButton1_Click()s 0i 1While i < 100s s ii …

武汉大学计算机学院参考书目,2020武汉大学计算机与软件工程考研初试科目、参考书目及复试详情...

原标题&#xff1a;2020武汉大学计算机与软件工程考研初试科目、参考书目及复试详情本文将由新祥旭徐老师全方位的对武汉大学计算机专业考研进行解析&#xff0c;主要有以下几个板块&#xff1a;学院介绍&#xff0c;专业情况介绍&#xff0c;2019录取情况分析&#xff0c;考研…