1.下载ndk

2.使用ndk交叉编译exp.c

<1>.编写:Makefile
NDK_ROOT=/Users/xxx/Documents/Android_SDK/android-ndk-r12b
TOOLCHAINS_ROOT=$(NDK_ROOT)/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64
TOOLCHAINS_PREFIX=$(TOOLCHAINS_ROOT)/bin/arm-linux-androideabi
TOOLCHAINS_INCLUDE=$(TOOLCHAINS_ROOT)/lib/gcc/arm-linux-androideabi/4.9.x/include-fixed
PLATFORM_ROOT=$(NDK_ROOT)/platforms/android-21/arch-arm
PLATFORM_INCLUDE=$(PLATFORM_ROOT)/usr/include
PLATFORM_LIB=$(PLATFORM_ROOT)/usr/libMODULE_NAME=exp
BUILD_TYPE=c
PATH_ANDROID=/data/local/FLAGS=-I$(TOOLCHAINS_INCLUDE) \-I$(PLATFORM_INCLUDE) \-L$(PLATFORM_LIB) \-nostdlib \-lgcc \-Bdynamic \-lc    \-O0OBJS=$(MODULE_NAME).o \$(PLATFORM_LIB)/crtbegin_dynamic.o \$(PLATFORM_LIB)/crtend_android.oall:$(TOOLCHAINS_PREFIX)-gcc $(FLAGS) -c $(MODULE_NAME).$(BUILD_TYPE) -o $(MODULE_NAME).o$(TOOLCHAINS_PREFIX)-gcc $(FLAGS) -S $(MODULE_NAME).$(BUILD_TYPE) -o $(MODULE_NAME).S$(TOOLCHAINS_PREFIX)-gcc $(FLAGS) $(OBJS) -o $(MODULE_NAME)
clean:$(RM) *.o $(MODULE_NAME) *.S
install:adb push $(MODULE_NAME) $(PATH_ANDROID)adb shell chmod 755 $(PATH_ANDROID)$(MODULE_NAME)adb shell $(PATH_ANDROID)$(MODULE_NAME)<2>.编写exp.c
#include <stdio.h>
int main(){int a;int b;int c;int d;int e;int f;int g;a = 123;b=a+1;c=b-2;d=c*2;e=d<<2;printf("e = %d\n",a+b+c+d+e);
}<3>.push到android设备或者模拟器验证
# adb push exp /data/local

Mac下ndk交叉编译arm平台程序相关推荐

  1. Cmake NDK交叉编译Android平台程序

    当我们需要把我们的C++程序编译成Android平台的so库时,就需要用到交叉编译,有两种方法 目录 一:利用NDK进行编译 1.首先安装NDK 2.直接cmake, 二,独立的交叉编译工具链 1.安 ...

  2. Mac下使用macdeployqt打包qt程序:

    概述 初次在Mac上使用qt的macdeployqt来打包生成的可执行程序,这里记录下.由于我的程序是调用之前生成的qt动态库,而动态库又依赖于第三方库,相对于没有库文件依赖的程序,这里有一些需要注意 ...

  3. 手把手教你在Mac下打开多个qq程序

    大家都知道在windows下我们可以同时打开多个qq程序,但是在mac下默认是不能打开多个qq程序的.那我就想打开多个该怎么办(工作中会有这样的需求),我终于找到了解决办法,答案马上揭晓: 总共总结了 ...

  4. linux下ndk编译命令行程序及配置

    1.在http://developer.android.com/tools/sdk/ndk/index.html下载Android-ndk-r8e-linux-x86.tar.bz2,解压后 把and ...

  5. mac 下禁止顽固的开机程序自启

    每次开机,总是会有这个Adobe的软件自启,让我看着很不爽 每次都要点击,然后才能关掉,像这样 上网查找资料之后,发现这个简书的方法 首先我找到了这个目录下的文件 打开之后本想直接修改,但是提示没有权 ...

  6. linux 运行arm,在Ubuntu下编译运行arm架构程序

    Ubuntu本身是不支持arm架构的,但是可以通过qemu来执行,编译可以使用gcc对于arm的交叉编译器. 下面的命令是用来安装qemu和gcc for arm的: sudo apt install ...

  7. 交叉编译php-5.6.30,linux下用arm-none-linux-gnueabi交叉编译arm内核模块

    前不久导师要求交叉编译一个基于arm平台开发的内核模块来练手,在网上查了很多资料才弄出来,于是将这些零散的信息综合起来给和我一样的入门人员了解.水平有限,请谅解~ 1.安装arm-none-linux ...

  8. Mac下Android studio 之NDK配置教程(二)

    Mac下Android studio 之NDK配置教程(二) (一)简述 从上一篇NDK配置教程(一) 中,我 简单的阐述了MAC下NDK的基本解压和环境配置步骤. 本节我讲详细描述android s ...

  9. 自定义NDK交叉编译链(toolchain)

    背景:在Mac下编译FFmpeg库时,看了比较多的教程基本都失败,偶然间发现NDK在去GCC化,需要通过交叉编译来完成编译,这里记录下NDK交叉编译链过程 地址 https://developer.a ...

最新文章

  1. python3 文件内容搜索 文件名搜索 目录遍历
  2. 周其对话农民丰收节交易会 乡村振兴不能单单从乡村着眼
  3. Paddle.js PaddleClas 实战 ——『寻物大作战』AI 小游戏
  4. Android深度探索--HAL与驱动开发----第十章读书笔记
  5. 通道Channel-使用NIO 写入数据
  6. apache.camel_Apache Camel 3.2 – Camel的无反射配置
  7. 开源软件的许可(License)
  8. 【转载】opencl中设备内存
  9. Quora 用了哪些技术 ?(zz)
  10. 统计图源代码_openlayers4 入门开发系列结合 echarts4 实现统计图(附源码下载)
  11. linux网络配置putty,linux基础:2、网络配置和用使用putty连接
  12. 临时号码,接收短信验证码
  13. 番茄助手-解决vs2010没有智能提示问题
  14. 【简单的四足机器人制作(基于STC15/LPC845)】
  15. 苹果闪存性能测试软件,iPhone6闪存是什么类型 iPhone6闪存类型检测教程
  16. UML培训取得姣好成绩,受到客户好评
  17. 向 3D 城市模型添加外观
  18. 服务器网卡光模块位置,收藏:详解服务器、磁盘和网卡知识
  19. 一个转来的简单T9输入法
  20. 基于PCL 1.11 的屏幕选点

热门文章

  1. JVM性能优化, Part 5:Java的伸缩性
  2. 【java虚拟机序列】java中的垃圾回收与内存分配策略
  3. 大数据分析引擎Apache Flink升级成为Apache顶级项目
  4. HTTP协议详解 (转)
  5. C++循环的内存释放问题?
  6. [JAVA]全新java初学者实践教程(全)
  7. .net framework3.5新特性1:Lambda表达式
  8. oracle 39083,oracle数据库导入导出时ORA-39083;ORA-00439错误解决思路
  9. 关于python字符编码_关于python文件的字符编码
  10. 监控mysql主从的工具_zabbix利用percona-toolkit工具监控Mysql主从同步状态