问题标签 [unsafe-pointers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
7284 浏览

ios - 使用 UnsafeMutablePointer 数组

我正在尝试使用 Brad Larson 的出色GPUImage框架,并且正在努力处理由GPUImageHarrisCornerDetectionFilter.

角作为一个数组返回GLFloat-UnsafeMutablePointer我想将它转换为一个数组CGPoint

我试过为内存分配空间

但数据似乎没有任何意义 - 无论是零还是 1E-32

我发现了如何在 Swift 中循环遍历 <UnsafeMutablePointer> 数组元素的完美答案并尝试了

但编译器不喜欢UnsafeBufferPointer- 所以我把它改成了UnsafeMutablePointer,但它不喜欢参数列表。

我确信这很好而且很简单,而且听起来像是其他人必须要做的事情 - 那么解决方案是什么?

0 投票
2 回答
3063 浏览

ios - 在 Swift 2.0 中创建 CMSampleBuffer 的副本

之前有人问过这个问题,但自从有人问到这个问题后,Swift 中肯定发生了一些变化。我正在尝试存储CMSampleBuffer从 an 返回的对象AVCaptureSession以供以后处理。经过一些实验,我发现AVCaptureSession必须重用它的CMSampleBuffer引用。当我尝试保持超过 15 个时,会话挂起。所以我想我会复制样本缓冲区。但我似乎无法让它工作。这是我写的:

这不会编译,因为它说Variable 'bufferCopy' used before being initialized. 我查看了许多示例,它们要么编译但不工作,要么无法编译。

有人看到我在这里做错了吗?

0 投票
0 回答
83 浏览

swift2 - Swift 2 中带有 MusicSequenceBarBeatTimeToBeats 的 EXEC_BAD_INSTRUCTION (code=1, address=0xe)

我在 Swift 2 中使用 Apples MusicSequence C API 时遇到问题。我不知道如何在调用MusicSequenceBarBeatTimeToBeats.

我尝试了很多在互联网上找到的不同解决方案,但似乎没有任何效果。

我的第一次没有导致编译错误的尝试是:

结果是: MusicSequenceBarBeatTimeToBeats 代码行中的 EXEC_BAD_INSTRUCTION (code=1, address=0xe)

然后我尝试了这个,但结果相同:

我已经尝试过该withUnsafeutablePointer功能,但运行时错误相同:

如果我在第三个参数中传递 nil 它不会崩溃,但这没用,因为缺少输出。所以问题似乎是UnsafeMutablePointer<MusicTimeStamp>输出参数。

有什么建议么?

0 投票
1 回答
342 浏览

go - 指向地图或接口切片范围的循环变量的指针{}

我正在使用go-hdf5,但在尝试从地图循环写入属性时遇到了问题。

属性创建正确(正确的名称和数据类型),但写入的值是垃圾。

循环外的相同代码可以正常工作。我尝试了v := v习语并将代码包装在一个闭包中以进行捕获v,但这并没有什么不同。

这是代码的要点(为清楚起见,故意省略了错误检查):

Write方法使用反射来获取指向该值的指针并将其转发到 C 库。代码的相关部分只是:

如果我用 切片替换地图interface{},我会遇到完全相同的问题,所以我的直觉是这与循环变量的绑定有关,但v := v没有帮助,所以我不确定。

我对 Go、HDF5(C 库)和 go-hdf5 非常熟悉,但我真的被困在这里。任何想法?

顺便说一句,我正在使用 go1.5.1 darwin/amd64。

0 投票
0 回答
118 浏览

swift - 获取指向不可变结构的指针

我正在为一些 C 库编写包装器。是否可以将 UnsafePointer 用于不可变结构?对于可变结构,这不是问题:

但这两种解决方案都不理想。

0 投票
1 回答
194 浏览

ios - 如何在 MPSImageDilate 中编写浮点类型的不安全指针

我是 Unsafepointer 的新手。在本文档的以下内容中,它说我需要值为 Unsafepointer 类型。我需要它等效于 1.0(浮点数)的重复值的 139*139 个元素的数组。

有人可以为我提供这方面的想法吗?

0 投票
3 回答
583 浏览

swift - 使用 fromCString 从 DS 读取时解包 Optional 值时意外发现 nil

我正在从 dbtable 读取并在表的特定位置出现错误。我的 sql 没问题,因为我已经可以从同一个表中读取,但是在特定行我得到一个错误,我想知道如何处理这个错误。我不是在寻找解决我的数据库问题的解决方案,我只是在寻找处理错误,所以它不会崩溃。

我有以下代码:

我收到一个错误:

“致命错误:在展开可选值时意外发现 nil”

在标有 的行<<<<<< ERROR

不安全指针的值不是nil

我该如何处理这个错误,所以我的应用程序不会崩溃?

0 投票
1 回答
961 浏览

c - 将 NSData 复制到 UnsafeMutablePointer

你好,stackoverflowers。我正在为安全传输实现一个包装器,但我坚持使用一些 C -> Swift 语法。

我已经标记了编译错误的位置。我不怪它犯错,我在这里有点猜测:P。我正在尝试将 NSData 复制到数据:UnsafeMutablePointer。我怎么做?

编译错误:

/Users/*/SecureTransportWrapper.swift:108:9:静态成员“alloc”不能用于“UnsafeMutablePointer”类型的实例(又名“UnsafeMutablePointer<()>”)

万分感谢!

=================

更新:这里是 sslReadCallback 应该做什么的 api 文档:

连接:连接参考。

数据:返回时,您的回调应使用从连接中读取的数据覆盖此位置的内存。

dataLength:在输入时,指向表示数据长度的整数的指针(以字节为单位)。返回时,您的回调应该用实际传输的字节数覆盖该整数。

从这里摘录

0 投票
1 回答
698 浏览

c - 如何将我的 swift 类转换为像 Objective-c 中的 __bridge 这样的 UnsafePointer

我正在尝试实现到SecureTransport C 库的快速桥梁。我“认为”只要我知道如何在我的 sslReadCallback/sslWriteCallback 实现中从中读取内容,我就可以将任何东西作为连接传递。这是我正在使用的假设。当我查看 SSLConnectionRef 的定义时,似乎是这种情况:

所以我只需要把我的类变成 UnsafePointer。不幸的是,编译器不喜欢我的尝试。任何人都可以给我提示吗?

在 GCDAsyncSocket 中,它执行以下操作:

..解开。这相当于什么?

非常感谢!

0 投票
1 回答
141 浏览

swift - 指向一个 UnsafeMutablePointer对自己

在 C 中,将指针指向分配给指针的内存位置是有效的:

通过将此指针用作 in ,我已经看到它在带有 KVO 的 Objective-C 代码库中context使用observeValueForKeyPath:ofObject:change:context:

是否可以将指针指向 Swift 中为该指针分配的内存空间,或者手动为该指针分配内存?在初始化期间尝试将指针指向自身的内存值会导致错误(如预期的那样):

CMutableVoidPointer该语言中不再存在,并且UnsafeMutablePointer<Void>()不推荐使用初始化指针 ( ) 并将指针设置为nil.

也许是这样的: