怎么给iPhone的arm64qt 交叉编译 arm开源库

怎么给iPhone的arm64编译开源库_百度知道
怎么给iPhone的arm64编译开源库
我有更好的答案
/&#47。需要重新编译 查阅了下资料,按照如下步骤,并做了些注释和改动 1.http.a静态库,也要支持64位的模拟器(x86_64)和64位的真机(arm64)指令集之前app用到的libmp3sourceforge
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)如何适配Arm64架构的 iosAPP_百度知道
如何适配Arm64架构的 iosAPP
我有更好的答案
在32位系统中。如果一个32位系统的RAM超过4GB,单一程序很难充分利用全部空间,这些对象通常包括以下几种。内存(RAM)地址大小。这一数值(关系到硬件可支持的最大内存)与CPU的位数无关。值得庆幸的是,在大多数现代CPU中。FPU寄存器的大小和内部设计是独立的,ARM架构采用64位FPU已颇有段时间了,在64位系统 上,这个空间增加了一倍。而大多数程序运用指针很频繁,所以额外占用的空间往往不少。这给缓存带来了压力,从而导致性能降低。然而,在大体上却达成了一些共识、约定俗成的定义。ARM64还增加了专门的AES。不过,它也会因占用更多内存而降低性能。ARM64iPhone 5S的64位CPU是配有更宽寄存器的ARM处理器。在32位CPU中,单一程序仅有4GB地址空间,减去被操作系统和标准库所占用的部 分、SHA-256加密指令,增加指针宽度有个严重的缺点。简而言之,“64位”可以提升某些应用的性能,尽管这些共识并未为大众所知,但难免有个别程序需要使用更多内存的情况,与32位ARM架构相比:在所有其他条件都相同的情况下,单一程序在64位CPU系统中更占内存,程序不能映射大文件(通常是指超过几百MB的文件),而64位系统的可用地址空间更大,不必有这方面的担心。不过。即使对于物理内存较小的系统,除非开发者耍些小聪明,例如直接命令操作系统按需求分配 内存。寄存器的数量 会对性能会产生巨大影响。与CPU相比。但在实际应用中,还有16个额外的64位寄存器。这些寄 存器的结构有些特殊,可被视为等价于16个重叠的128位寄存器,还有1个寄存器预留给平台,另外28 个则为通用整数寄存器。ARM64上可用浮点寄存器的数量有所增加,ARM64的整数寄存器数量增加了一倍,32位ARM架构有16个整数寄存器,其中1个是专用的程序计数器,还有2个用于堆栈指针和链接,其他13个 则作一般用途。在PC中,块大小最高可达192位。与浮点运算相关的参数,同时提高了性 能。除了增加寄存器数量,ARM64也为指令集带来了重大变化。大多数32位ARM处理器可基于运行时条件寄存器的状态执行条件指令。内存映射文件是种有用的结构,内存要慢得多。与CPU处理一条指令的时间相比,读取和写入内存都需要更长时间,64位ARM架构包括以下重大变动:首先是名称的变化——它的官方名称为 “AArch64”,但这个名字读起来很绕口,敲起来也别扭。苹果称它为ARM64,我也更倾向于用这个名字。较32位ARM架构而 言。ARM64则将其简化为32个128位寄存器。CPU从内存或缓存中获取的数据量也与CPU的位数无关,某些CPU指令可能需要特定大小的数据。大家对于这个术语一直比较困惑,很大一部分原因在于,它没有统一的,它们是一致的。“64位”通常是指CPU有64 位整数寄存器和64位指针。ARM架构的内存地址通常从26位到40位不等。数据总线大小、SHA-1。“×× 位”CPU通常是指两个部分的宽度:整数寄存器的宽度和指针的宽度,即使速度最快的缓存也慢得多。这些指令也许对普通应用帮助不大。更多的寄存器意味着更多数据能存储在CPU内部,这降低了内存访问频率。系统拥有更多内存的好处是,能同时运行多个应用并减少 硬盘缓存。这样固然不错,只剩1~3GB可用,既可一次获取多条指令, 也可多次获取一条指令。上一代iPhone就已经以64位块为单位从内存获取数据了,且没有重叠,更大的地址空间也有帮助,但在实际应用中。因为指针本身也需要存储于内存中。“64位”的优点与缺点尽管64位与硬件可支持的最大内存无关。不过这种方式引入的麻烦多于便利。而ARM64位架构有32个整数寄存器,包括1个专用的零寄存器,1个链接寄存器和1个帧指针寄存器。CPU试图通过引入缓存来缓解这 一差距。32位ARM处理器有32个32位浮点寄存器,或将程序拆分成多个进程,但便于单一程序使用更大内存,很少有程序这么做,因为编程更麻烦,还会有损性能如何适配Arm64架构的 iosAPP我们先来谈谈“64位”这个术语及其含义,并使内存映射文件这种编程技术更易用。但与CPU内部的寄存器相比,这使 得在编译if等语句时无需分支,因此ARM64取消了条件执行。ARM64的NEON SIMD单元完全符合IEEE754双精度标准,而32位版本的NEON SIMD单元只支持单精度。除了搞清楚“64位”所指的对象外,明白非“64位”所指的对象也十分重要
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。Pages: 1/2
主题 : 第三方静态库 64位编译支持
级别: 精灵王
可可豆: 7606 CB
威望: 7609 点
在线时间: 652(时)
发自: Web Page
来源于&&分类
第三方静态库 64位编译支持&&&
我之前编译speex armv6 armv7 armv7s 都可以,但编码64位时 怎么设定个参数呀? armv6 的编译 ./configure -prefix=/Users/zhao/Desktop/speex/ogg/armv6 -host=armv6-apple-darwin -build=x86_64-apple-darwin11.3.0 CC=&/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -std=c99 -arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/&armv7 的编译 ./configure -prefix=/Users/zhao/Desktop/speex/ogg/armv7 -host=armv7-apple-darwin -build=x86_64-apple-darwin11.3.0 CC=&/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -std=c99 -arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/&armv7s 的编译 ./configure -prefix=/Users/zhao/Desktop/speex/ogg/armv7s -host=armv7s-apple-darwin -build=x86_64-apple-darwin11.3.0 CC=&/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -std=c99 -arch armv7s -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/&arm64 的编译 ./configure -prefix=/Users/zhao/Desktop/speex/ogg/arm64 -host=armv7s-apple-darwin -build=x86_64-apple-darwin11.3.0 CXX=&/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc++ -std=c99 -arch arm64 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/&这个64编译是我自己乱写的,谁我改成好用的呗。
级别: 精灵王
可可豆: 7606 CB
威望: 7609 点
在线时间: 652(时)
发自: Web Page
晕只有看的 没有回复的。 连顶贴的都没有。
级别: 精灵王
可可豆: 7606 CB
威望: 7609 点
在线时间: 652(时)
发自: Web Page
&&&&&&&&&&&&&&&&&&&&&&
可可豆: * CB
威望: * 点
在线时间: (时)
注册时间: *
最后登录: *
发自: Web Page
问题太专业~~~回答不了啊
级别: 精灵王
可可豆: 7606 CB
威望: 7609 点
在线时间: 652(时)
发自: Web Page
&&./configure -prefix=/Users/zhao/Desktop/speex/ogg/arm64&&CXX=&xcrun --sdk iphoneos clang++ -arch arm64 -miphoneos-version-min=7.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk -disable-shared -enable-static -host=arm-apple-darwin&
级别: 精灵王
可可豆: 7606 CB
威望: 7609 点
在线时间: 652(时)
发自: Web Page
回 4楼(utmost2000) 的帖子
这个只能编码结果是 zhaomatoMacBook-Pro:~ zhao$ lipo -info /Users/zhao/Desktop/speex/ogg/arm64/lib/libogg.a input file /Users/zhao/Desktop/speex/ogg/arm64/lib/libogg.a is not a fat fileNon-fat file: /Users/zhao/Desktop/speex/ogg/arm64/lib/libogg.a is architecture: x86_64我要arm64呀&&不是x86_64
级别: 骑士
UID: 368561
可可豆: 2389 CB
威望: 1692 点
在线时间: 939(时)
发自: Web Page
你们说的啥,都看不懂
级别: 精灵王
可可豆: 7606 CB
威望: 7609 点
在线时间: 652(时)
发自: Web Page
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
级别: 新手上路
可可豆: 4 CB
威望: 4 点
在线时间: 46(时)
发自: Web Page
我编译这个speex一直不能成功,一开始是: C compiler cannot create executables错误,然后我把CC=&/Developer/Platfo...改成了gcc=&/Developer/Platfo...,编译出来的.a文件有问题,input file /Users/zhao/Desktop/speex/ogg/arm64/lib/libogg.a is not a fat fileNon-fat file: /Users/zhao/Desktop/speex/ogg/arm64/lib/libogg.a is architecture: x86_64。。。被这个问题折磨好久了,楼主解决没有?我使用的是Xcode6.2。另外x86_64-apple-darwin13.3.0参数是不是编译器(gcc?clang?)的版本信息?这个编译器路径要怎么写啊?
级别: 精灵王
可可豆: 7606 CB
威望: 7609 点
在线时间: 652(时)
发自: Web Page
不要连接设备编译就支持64位了 不然只支持机器的
Pages: 1/2
关注本帖(如果有新回复会站内信通知您)
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 关注CVP公众号
扫一扫 浏览移动版}

我要回帖

更多关于 openssl arm交叉编译 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信