64位-NDK如何编译arm64指令集

问题描述

NDK如何编译arm64指令集

在一个安卓移动端项目中加入了指令集优化。这个项目之前完成了在armv7平台上的指令集优化,现在使用armv8的A64指令集重写了汇编优化代码,想针对安卓64位的设备进行优化。使用的是NDK的最新版本r10e。
NDK的-march参数支持armv8-a,-mtune可选的参数中却没有相应 的armv8处理器型号(cortex-a53,cortex-a57),编译的结果是所有64位的指令都不识别(bad instruction)。请问是否是NDK目前还不支持64位指令集?如果支持,makefile中该如何指定?

解决方案

http://blog.csdn.net/qiuchangyong/article/details/50040579

解决方案二:

http://source.android.com/source/64-bit-builds.html

时间: 2024-12-30 05:31:03

64位-NDK如何编译arm64指令集的相关文章

vs2013 vs2010-32的VS2010编写的项目,经过64位的VS2013编译,报:调用的目标发生了异常。

问题描述 32的VS2010编写的项目,经过64位的VS2013编译,报:调用的目标发生了异常. 项目是一直用的VS2010 , 启动调试先加载EAS的客户端,然后再管理开发的模块. 新安装了VS2013, 编译一遍程序以后在启动报:调用的目标发生了异常. 关机重启,重新签出都会是这个问题, 自我分析是VS2013的环境和VS2010的环境发生了冲突, 目前机器上两个都存在. 求解大神怎么解决, 在线等啊, 谢谢.不知道怎么插入图片,下面是异常信息:{""调用的目标发生了异常.&quo

在64位linux下编译32位程序

一般情况下我们最好是在一个平台上编译本平台的二进制程序,比如在32位平台上编译32位程序而在64位平台上编译64位程序.    现在64位的系统(这里主要指x86_64系统,包括AMD64和Intel的EM64T)已经开始广泛的使用起来了,甚至于你现在要是想买32位的处理器根本就没有.64位的系统在性能和处理能力上相对32位系统也都有很大的提高.所以现在很多用户已经选择使用64位的系统了.     有一些软件,在安装过程中需要对部分代码进行编译以便在不同的发布版本都可以很好的运行.那么当我们在6

win7 64位下自行编译OpenCV2.4.10+CUDA toolkit 5.5的整个过程以及需要注意的问题(opencv+cuda并行计算元素的使用)

       首先说明的是,这个帖子是成功的编译了dll,但是这个dll使用的时候还是很容易出现各种问题的. 发现错误可能是由于系统安装了太多版本的opencv,环境变量的设置混乱,造成dll版本加载不对的问题.           更新:下面这篇文章里面有加速编译的设置办法:但是编译器采用了vs2012,我根据他的所有软件版本换了编译器,以及QT库,需要特别注意的是,这些库的相应操作系统版本32bit 或者64bit版本 QT早期版本下载地址:   下面这个网址能够找到qt的各个版本 http

64位centos 下编译 hadoop 2.6.0 源码

64位os下为啥要编译hadoop就不解释了,百度一下就能知道原因,下面是步骤: 前提:编译源码所在的机器,必须能上网,否则建议不要尝试了   一. 下载必要的组件 a) 下载hadoop源码 (当前最新的稳定版是2.6.0)地址  http://mirrors.hust.edu.cn/apache/hadoop/common/stable/hadoop-2.6.0-src.tar.gz b) 下载apache-ant (centos自带的ant版本太低,编译过程中会报错)地址: http://

android-怎么编译64位安卓c程序应该用哪个交叉编译器

问题描述 怎么编译64位安卓c程序应该用哪个交叉编译器 armv7的指令集.用arm-linux-gcc编译的小程序无法运行 解决方案 64位是x86-64还是arm64,确定之后去Google Android Developer下载ndk交叉编译器 解决方案二: 试试VSAndroid吧

如何在linux 32位机器编译64位程序

编译64位程序,不一定要编译机器是64位的,但是32位机器默认安装的gcc编译环境还是不能用来编译64位程序. 编译64位程序,需要加上-m64编译器参数,默认安装的gcc已经支持该参数,但是缺少64位机器指令相关的文件,所以不能编译,会出现下面的错误 [plain] view plain copy   In file included from /usr/include/features.h:378,                    from /usr/include/assert.h:

ubuntu 64位编译hadoop-2.6.0失败,网上看了好久,都没解决,大神速来解救

问题描述 ubuntu 64位编译hadoop-2.6.0失败,网上看了好久,都没解决,大神速来解救 [exec] CMake Error at /usr/local/share/cmake-2.6/Modules/FindPackageHandleStandardArgs.cmake:52 (MESSAGE): [exec] Could NOT find ZLIB [exec] Call Stack (most recent call first): [exec] /usr/local/sha

win7 编译 openssl-win7(64位)下如何编译openssl

问题描述 win7(64位)下如何编译openssl 如题,win7下如何编译openssl啊?总是报缺少各种.h,很头大-先报缺少windows.h后来报缺少stdlib.h,再后来卡在uplink.c里面报各种缺少错误- 解决方案 https://software.intel.com/zh-cn/blogs/2013/12/22/windows-openssl 解决方案二: win7在64位系统下编译opensslOpenSSL编译(Win764位VS2010)win7 64位系统+vs20

64位Solaris系统上gcc在编译出来的程序默认是32位总结

最近发现一个问题,gcc在64位Solaris上编译出来的程序默认是32位的,而在64位Linux上编译出来的程序默认就是64位的,觉得有点奇怪,在国外的网站上找到原因,原来这是Solaris有意而为之.总结一下,有以下几点: (1)64位的gcc或程序不一定比32位运行快: (2)Studio程序默认是32位的,gcc最好和它行为保持一致: (3)从用户体验出发,以前都是默认生成32位程序,现在一下变成64位,用户可能需要改很多配置: (4)64位Solaris位的gcc可以既编译32位,又编