问题标签 [arm64]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 由于缺少 arm64 的拱门,使用 cocoapods 的 XCode 项目突然中断
我已经在一个使用 CocoaPods 的项目上工作了几个星期:
podfile 也已经好几个星期没有改变了。但是,今天我突然遇到了构建错误,我无法弄清楚出了什么问题或构建突然开始失败的原因。
有什么想法可能是错的吗?我查看了所有项目和目标,他们将 64 位列为有效架构。
ios - 忽略文件 SDWebImage.framework,缺少所需的架构 x86_64
我已经在我的 Xcode 5 / iOS 7 项目中安装了SDWebImage,但是构建给了我以下问题,这将导致一个致命的异常:
SDWebImage 似乎是导致Google Analytics 出现此问题的原因,最好的解决方案似乎是通过在构建设置中使用标准架构(armv7、armv7s)来削减 arm64。我真的不想这样做,而 SDWebImage 有这个问题归咎于 libwebp,它建议暂时回退到框架 3.2。
我已经在运行框架 3.5。有谁知道如何解决这个问题,还是我坚持这些变通办法?
(谢谢!)
ios - NSInteger 和 NSUInteger 在混合的 64 位 / 32 位环境中
我在 NSLog / NSAssert 等调用中有相当数量的字符串格式说明符,它们分别使用%d
和%u
withNSInteger (= int on 32bit)
和NSUInteger (= unsigned int on 32bit)
类型。
将应用程序转换为 64 位时,这会发出警告(当然),正如%ld %lu
现在变成long
andunsigned long
类型所预期的那样。
简单地转换格式说明符当然会在 32 位构建中引入反向警告。
因此,我看到的唯一没有警告的解决方案是使用 64 位说明符,并将 32 位构建中出现警告的任何地方都转换为 64 位值类型。
但是我想知道是否可能有专门针对NSInteger
andNSUInteger
类型的格式说明符,它们可以在两种架构上工作而无需强制转换?
ios - stdargs [va_start(), va_arg(), etc] 在 arm64 上损坏?
我有一个以标准方式使用可变参数的 c 函数,下面是一个简化示例:
在所有 armv7s 及更低版本的设备以及包括 64 位模拟器在内的所有模拟器上,这都成功了,并且将 v1 到 vn 的变量分配给 p1 到 pn,但是当它在 arm64 上执行时,似乎可变参数列表是向后的( v1 = pn,v2 = pn-1, ..., vn = p1)
有什么解决办法吗?还是我错过了描述此更改的文档?
谢谢
编辑:
我没有提到这个问题的一个关键因素,我之前没有想到要提到。我试图用一个通用的可变参数函数来混合非可变参数函数。
注意:使用的编译器是 Apple LLVM 5.0
iphone - 优化RGBA->RGB arm64组装
我编写了这个非常简单的 NEON 实现来从 RGBA 转换为 RGB。它有效,但我想知道是否还有其他方法可以进一步提高性能。
我尝试使用预取大小并进一步展开循环,但性能并没有太大变化。顺便说一句,在预取维度方面是否有任何经验法则?我在网上找不到任何有用的东西。此外,在“ARMv8 指令集概述”中,我看到还有一个用于存储的预取,这有什么用?
目前我在 iPhone5s 上转换 1280x720 图像需要大约 1.7 毫秒。
ios - 版本 6.7.0 中架构 arm64 Google AdMob 的未定义符号
好的,谷歌 AdMob API 现在应该适用于 arm64,但我收到了这个错误。
我在 Google 上搜索过,很多人建议避免使用 64 位功能。但是现在 API 应该可以工作了,所以我不明白我为什么要这样做。
我真的被困在这里了。
ios - 64 位 iOS 设备上的 asm("trap")
在我自己开发的断言宏中,我一直在 iOS 设备上使用 asm("trap")(或在 iOS 模拟器上使用 asm("int3"))来中断调试器。但是,在设备的 64 位版本中,我得到了陷阱指令的“无法识别的指令助记符”。arm64是否有等价物?
(像 __builtin_trap() 或 raise(SIGINT) 这样的替代方案确实有效,但有一些我不喜欢的行为;前者不会让你继续休息,而后者是一个函数,所以你总是比你低一级中断时需要在堆栈中的位置。)
c++ - 为什么 Apple 的 Clang(来自 Xcode 5)为 arm64 制作 typeinfos private_extern?
如果你编译这个文件 p3.cxx:
像这样:
和
然后检查“typeinfo for foobarclass”的符号:
为什么arm64 案例中的符号 weak private external ?这意味着 dlsym() 在运行时找不到它。这会破坏 LibreOffice 代码库中的某些低级内容。
ios - 架构设置为 64 位时图像不显示
为了将我的应用程序转换为 64 位,我将架构构建设置更改为:
ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
应用程序运行良好,只是某些图像未显示(空白)。为什么会发生?任何线索?
ios - 在arm64上将字符串转换为整数?
我有一小段代码,我注意到它们对arm64
目标的行为不同。我从 JSON 数据中获取数字字符串,然后使用integerValue
将字符串转换为整数。字符串通常有数千个分隔符,以逗号的形式。
在非 64 位目标(iPhone 4/s、5/s 等)上,一切正常,无论是否有逗号分隔千位,我都能得到正确的整数。但是, onarm64
仅integerValue
返回分隔符逗号之前的第一个“块”数字。我已经包含了代码和示例结果,以显示到底发生了什么:
例如,在非 64 位目标上:
BTCValue = @"54,321.00"
和value = 54321
.
然而,在 arm64 目标上:
BTCValue = @"54,321.00"
和value = 54
.
是int还是NSInteger似乎并不重要value
,无论如何都会发生同样的事情。有什么我想念的吗?我不明白为什么在 armv7 上一切正常,但在 arm64 上却不行。