gpt4 book ai didi

ios - "Correct"将 ALAssetRepresentation 大小(long long)转换为 32 位设备的 size_t 的方法

转载 作者:太空宇宙 更新时间:2023-11-04 04:36:42 25 4
gpt4 key购买 nike

我有以下从 ALAssetRepresentation 中提取数据的代码。

ALAssetRepresentation *representation = ...;
size_t size = [representation size]; // 'size' returns a long long
uint8_t *bytes = malloc(size);

在 iOS 上为 32 位设备构建时,我收到以下警告。

enter image description here

盲目地将 long long 转换为 size_t 可行,但我不知道处理这种情况的“正确”方法是什么。很想知道如何最好地处理它。

最佳答案

因为您要分配给 size_t 类型,所以将结果转换为 size_t

size_t size = (size_t)[representation size];

这样做的唯一风险是 representation size 可能是一个大于 size_t 的数字。但如果发生这种情况,该值太大而无法在 iOS 设备上运行时为其分配内存,因此这是一个比精度损失更大的问题。

关于ios - "Correct"将 ALAssetRepresentation 大小(long long)转换为 32 位设备的 size_t 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29992122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com