gpt4 book ai didi

ios - C 库中使用数组的 UnsafeMutablePointer

转载 作者:行者123 更新时间:2023-11-29 01:06:57 25 4
gpt4 key购买 nike

我想在我的 iOS 项目中实现 C 库。我使用的是 swift 语言。

我有一个函数,其中输入参数(存储输出值的地方)是通常的 C double 组:

double ar[6];
///...
err = c_lib_func(ar);

如果我像 var ar: [Double] 这样在 swift 内部初始化xCode 说我必须使用

UnsafeMutablePointer .但是在文档中我还没有找到如何为 UnsafeMutablePointer 初始化 n-lenght 数组。 .我只能做这样的事情: var ar : UnsafeMutablePointer<Double> .但我可以理解如何将其初始化为 6 长数组。请帮助我。

如果我使用

ar = [Double]
err = c_lib_func(ar);

xCode 向我显示此错误:

/Users/admin/Documents/projects/myApp/myApp/file.swift:46:46: Cannot convert value of type '[Double]' to expected argument type 'UnsafeMutablePointer'

最佳答案

在 Swift 中,[Double] 是一个 double 值数组,这不是您想要的。如果你想初始化一个 UnsafeMutablePointer 你可以使用:

var ar = UnsafeMutablePointer<Double>.alloc(6)

再次使用ar.dealloc(6)释放内存。

关于ios - C 库中使用数组的 UnsafeMutablePointer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36256841/

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