有没有办法在最新的Swift 3快照中使用C变量函数?

有没有办法在最新的Swift 3快照中使用C变量函数?,swift,ioctl,swift3,Swift,Ioctl,Swift3,这方面的一个例子是ioctl 错误:“ioctl”不可用:可变功能不可用 Darwin.ioctl:2:13: note: 'ioctl' has been explicitly marked unavailable here public func ioctl(_: Int32, _: UInt, _ varargs: Swift.Any...) -> Int32 当它从C导入时,它似乎被正确地标记为接受varargs 是这样吗 为什么会显式标记为不可用?Swift 3.0不是增加了对

这方面的一个例子是
ioctl

错误:“ioctl”不可用:可变功能不可用

Darwin.ioctl:2:13: note: 'ioctl' has been explicitly marked unavailable here
public func ioctl(_: Int32, _: UInt, _ varargs: Swift.Any...) -> Int32
当它从C导入时,它似乎被正确地标记为接受varargs

是这样吗


为什么会显式标记为不可用?Swift 3.0不是增加了对这一点的支持吗?

解决这一问题的唯一方法是在C语言中创建一个非可变的包装函数。然而,正在努力为Darwin中需要它的函数创建包装器,最近由为ioctl添加了多个包装器

要使用包装器,您需要有一个至少与6月22日快照一样新的swift版本。确保您正在使用该工具链