从 mach_timebase_info() 创建结构体

2024-01-07

在 C 中创建时基信息结构很容易,但在 Swift 中,以下内容在 Playground 中不起作用:

let timebaseInfo: mach_timebase_info_data_t = mach_timebase_info(&timebaseInfo)

错误是Variable used within its own initial value

我理解这个错误,但我无法想出一种方法来做到这一点而不下降到 C。是否有我缺少的 Swift 唯一方法?任何帮助将不胜感激。 :-)

编辑:实际上我看到上面的“A”问题,“=”没有意义。但我也尝试了以下方法:

let timebaseInfo: mach_timebase_info_data_t
mach_timebase_info(&timebaseInfo)'

出现错误,指出初始化之前使用了 timebasedInfo。 :-(


The mach_timebase_info函数声明为

typealias mach_timebase_info_t = UnsafeMutablePointer<mach_timebase_info>
// ...
func mach_timebase_info(info: mach_timebase_info_t) -> kern_return_t

这意味着你可以传递一个(初始化的)mach_timebase_info多变的 作为“输入输出表达式”&:

var timebaseInfo = mach_timebase_info(numer: 0, denom: 0)
let status = mach_timebase_info(&timebaseInfo)
if status == KERN_SUCCESS {
    // ...
}

有关更多信息,请参阅与 C API 交互 https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/InteractingWithCAPIs.html在“将 Swift 与 Cocoa 和 Objective-C 一起使用”手册中:

可变指针

当函数被声明为采用UnsafeMutablePointer<Type>参数,它可以接受以下任何一个:

  • nil,它作为空指针传递
  • An UnsafeMutablePointer<Type> value
  • 一个输入输出表达式,其操作数是类型的存储左值Type, 作为左值的地址传递
  • 一进一出[Type]值,作为指向开始的指针传递 数组,并在调用期间延长生命周期
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 mach_timebase_info() 创建结构体 的相关文章

随机推荐

  • 访问 numpy 数组中元素的属性

    我有一个充满对象 dtype object 的numpy数组cftime class In 1 a Out 1 array cftime DatetimeNoLeap 2000 1 1 11 29 59 999996 5 1 cftime
  • 什么是终结符和非终结符?

    我正在读 雷布尔 维基百科页面 https en wikipedia org wiki Rebol 解析表达式是用 parse 方言编写的 与 do 方言一样 它是数据交换方言的面向表达式的子语言 与 do 方言不同 parse 方言使用表
  • 如何在 Keras 中添加常量张量?

    我想做的是向网络的输出添加一个常量张量 inputs Input shape config N FRAMES IN SEQUENCE config IMAGE H config IMAGE W config N CHANNELS cnn V
  • 删除满足条件的一半数据帧行

    我希望根据条件提取数据帧的子集 比方说 df pd Dataframe Col1 values1 Col2 values2 Col3 values3 我想按 Col2 排序 在 Col2 中的负条目 如果有的话 中 我想删除最大的一半 因此
  • 使用 LINQ 从数据集中选择行,其中 RowsID 列表位于 List

    首先我必须说 我是一个使用 LINQ 的新手 实际上我以前从未使用过 但我有一个任务需要使用来自列表的值来过滤数据表 所以我想知道是否可以在 LINQ 中使用列表中的值作为过滤器值来查询数据表 有人可以给我一些提示 谢谢 执行此操作的最佳方
  • Flutter 图像选择器无法从相册/图库中选择图像

    我正在尝试在我的应用程序中实现 imagepicker 库 我的应用程序运行没有任何错误 但我无法从相册 图库中选取 选择图像 选择图像后 应用程序应在正文中显示图像 但没有任何反应 我必须点击 取消 才能返回主屏幕 我还应该提到控制台返回
  • JavaScript 图像调整大小

    有谁知道如何使用 JavaScript 按比例调整图像大小 我尝试通过添加属性来修改 DOMheight and width即时运行 但似乎在 IE6 上不起作用 要按比例修改图像 只需更改宽度 高度 CSS 属性之一 将另一个设置为自动
  • 从 Windows 命令行获取文件夹大小

    在 Windows 中 是否可以在不使用任何第三方工具的情况下从命令行获取文件夹的大小 我想要与右键单击 Windows 资源管理器 属性中的文件夹时获得的结果相同的结果 有一个内置 Windows 工具为了那个原因 dir s Folde
  • 如何避免锯齿并提高性能?

    In this 堆栈溢出答案 https stackoverflow com a 9709724 2345484事实证明 C 中的别名会降低代码速度 C 中的别名不仅适用于指针 还适用于引用 更普遍地适用于标准指定的这些类型 https s
  • ajax POST 后无法访问 JQuery $(this)?

    假设我有一堆共享点击事件的链接 a href class do stuff Click me a a href class do stuff Click me a a href class do stuff Click me a a hre
  • 使用 Utf8Json 库序列化时排除空字段?

    使用以下方法将 POCO 序列化为 JSON 字符串时 有什么方法可以忽略空字段Utf8Json图书馆 我有一个ToString我在外部使用的下面的类中的方法 所以我想看看是否有任何方法可以在进行序列化时排除空字段 基本上我不希望序列化后
  • 禁用 gcc 对不兼容选项的警告

    我很好奇是否有一个选项可以禁用 gcc 关于参数对正在编译的语言无效的警告 Ex cc1 warning command line option Wno deprecated is valid for C Java ObjC but not
  • 如何在显示 jQuery ui 选项卡时插入 JavaScript?

    我想在我的页面上运行 JavaScript 函数 但仅限于显示选项卡时 其实有两个问题 我没有使用 ajax 选项卡 那么如果我只想在显示选项卡后运行代码 我会将 JavaScript 放入 加载 或 显示 回调中吗 根据上面的答案 我的代
  • IE 和 Firefox 中的文本大小不同

    为什么 IE 中的文本比 Firefox 中的文本稍大 宽 示例 顶部是 IE 渲染文本的方式 底部是 FF Image http www dreamscape hu text jpg 在 CSS 中声明为 Arial 16px 的文本 我
  • 如何将 Xamarin Forms Shell 集成到 MvvmCross 设置中

    我打算将 Xamarin Forms 与 MvvmCross 一起使用 根据他们的tutorial https www mvvmcross com documentation tutorials tipcalc a xamarin form
  • 如何接入Kubernetes部署

    我已经创建了 Docker 映像 并部署在具有最少数量机器的 k8s 集群中 设置了一台主机和一台工作机 两台机器都已启动并运行 并使用相同的 VLAN 网络相互通信 请查找以下 Pod 和部署服务以及所描述的状态 root jenkins
  • 如何配置 protobuf-net 的 RuntimeModel.Default 以支持序列化/反序列化 SessionSecurityToken?

    BinaryFormatter 能够简单地处理序列化 private byte TokenToBytes SessionSecurityToken token if token null return null using var memo
  • XML 格式中的换行符?

    在 XML 中编辑字符串时 我需要添加换行符 我想问一下 为 android 编程时 正确的形式是什么 因为 br 有效 但 ECLIPSE 将该区域标记为有问题 如果我查看建议 Eclipse 会告诉我我应该添加一个结束标签 如果我添加换
  • Blazor 作用域 CSS 未在 Azure Pipelines 上构建

    我正在开发一个使用作用域 CSS 的 Blazor 应用程序 但是当我尝试使用 Azure Pipelines 构建它时 不会生成作用域 CSS 文件 我在一台可以通过 RDP 访问的本地计算机上构建 我看到wwwroot assembly
  • 从 mach_timebase_info() 创建结构体

    在 C 中创建时基信息结构很容易 但在 Swift 中 以下内容在 Playground 中不起作用 let timebaseInfo mach timebase info data t mach timebase info timebas