由于
Android NDK
从r18开始就已经抛弃GCC,转而将Clang当作默认编译器,因此我们直接使用NDK工具包进行编译
实验环境
- 安卓模拟器
android-ndk-r19c
实验步骤
第一步 源码编写
新建test.c
文件
1 |
|
第二步 源码编译
在android-ndk-r19c
目录下toolchains
文件夹中的llvm
文件夹即为clang
编译工具包
在llvm
的子目录bin
下存放这针对各个架构的clang编译器,由于模拟器是ARM架构,这里我们使用armv7a-linux-androideabi23-clang
在命令窗口执行如下指令:
1 | armv7a-linux-androideabi23-clang test.c -o test |
由于clang已经指定了Android23版本的SDK,这里无需要像GCC那样指定-static
编译
第三步 将编译后的可执行文件传至安卓设备
1 | adb push test /data/ |
第四步 执行文件
直接在控制台输入文件名即可执行
1 | ./test |
如果提示权限拒绝,那么
1 | chmod 777 test |
附加
如果C语言和汇编语言混合开发,同样也可使用clang编译:
1 | armv7a-linux-androideabi23-clang aaa.s test.c -o test |
本文为作者原创 转载时请注明出处 谢谢
乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站