gpt4 book ai didi

swift - 如何在 Swift 中将结构声明为 typealias 的返回类型

转载 作者:行者123 更新时间:2023-11-30 10:37:11 25 4
gpt4 key购买 nike

我正在使用 dlopen 函数从 swift 包中的 .dylib 导入 c 函数。 c 函数(即上行链路函数)将返回结构。为了从 swift 调用 c 函数,我需要创建 c 函数的类型别名。

C结构

typedef struct Uplink  { long _handle; } UplinkRef;

C 函数声明

extern UplinkRef uplink(UplinkConfig p0, char** p1);

uplink 函数正在返回 UplinkRef 结构。

Swift 中的 UplinkRef 结构

struct UplinkRef{
var _handle = -1
}

所以,我必须在 swift 中创建类型别名,以便我可以调用 C 函数

typealias uplink = @convention(c) ()->UplinkRef

1) 我如何将结构(即 UplinkRef)定义为 typealise 的返回类型?
2)我如何将结构(即UplinkRef)定义为typealias的参数?

最佳答案

如果struct UplinkRef是,

struct UplinkRef {
var handle = -1
}

那么,

1. UplinkRef 作为 typealias 中的返回类型

typealias Uplink1 = (()->(UplinkRef))

2. UplinkRef 作为 typealias 中的参数类型

typealias Uplink2 = ((UplinkRef)->())

关于swift - 如何在 Swift 中将结构声明为 typealias 的返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57727098/

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