- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我喜欢 dispatch_data_t
。它在内存范围之上提供了一个有用的抽象:它提供引用计数,允许消费者创建任意子范围(参与父范围的引用计数),连接子范围等。(我不会'不要费心去了解血淋淋的细节——文档就在这里:Managing Dispatch Data Objects )
我一直在试图找出是否有 C++11 等效项,但术语“范围”、“内存”和“引用计数”非常通用,这使得谷歌搜索有点困难.我怀疑那些在 C++ 标准库上花费的时间比我多的人可能会一头雾水。
是的,我知道我可以使用 C++ 代码中的 dispatch_data_t
API,是的,我知道不难实现这样的一个简单的首次通过实现一个东西,但我特别在寻找 C++ 惯用的东西,并且具有高度的抛光/可靠性。 (也许提升?)
最佳答案
没有。
正在为 future 的标准修订提议范围 View ,但它们是非拥有的。
dispatch_data_t
与 GCD 高度相关,因为清理发生在创建时确定的指定队列中:要复制该行为,我们需要 std
中的线程池和队列,我们没有。
正如您所注意到的,将拥有重叠的不可变范围类型写入稀疏或连续内存并不难。完全抛光它必须支持分配器,某种原始输入缓冲系统(拥有/销毁机制的类型删除?),具有按 block 异步迭代的实用程序(具有调整的 block 大小),仔细处理错误和异常,并且一些有效地将 rc 1 View 转换为可变版本的方法。
那么复杂的东西首先必须出现在像 boost
这样的库中,然后进行迭代改进。由于它有很多方面,因此可能已经存在具有足够满足您目的的属性的东西。
如果您自己推出,我鼓励您提交它以供 boost
考虑。
关于c++ - 是否有一个 `std::` 相当于 libdispatch 的 `dispatch_data_t` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22786878/
我有时会在 libdispatch 深处崩溃,以下回溯源自 SecItemCopyMatching功能。 * thread #1: tid = 0x169ee8, 0x0374c830 libdisp
我正在尝试将 GCD(Grand Central Dispatch)应用程序移植到 Ubuntu,我发现了 libdispatch ubuntu 包 apt-get install libdi
我正在尝试构建一个必须管理自己的运行循环的应用程序。我想在此应用程序中使用 libdispatch。但是,使用 libdispatch 需要调用 dispatch_main() ,这是一种阻塞方法。我
Date/Time: 2013-05-22 21:31:31.863 -0400 OS Version: iOS 6.1.3 (10B329) Report Version: 104 Excep
我这里有一个奇怪的问题。 我使用仪器来查看我的应用程序的泄漏情况。 而且我发现corehandwriting函数会被libdispatch.dylib调用,占用很大 内存空间大小。 但是,如果将此应用
我正在尝试编译 libdispatch for linux在安卓系统上。但是我在项目文件中找不到任何适用于 Android 的说明。 我可以看到有 several计算器 questions关于使用 l
我很难理解下面的代码: struct dispatch_block_private_data_s { DISPATCH_BLOCK_PRIVATE_DATA_HEADER(); sta
我刚刚向 App Store 发布了一个 OSX 应用程序,有报告称它在 OSX 10.9.5 上崩溃 以下是用户崩溃报告中的相关信息: Crashed Thread: 0 Dispatch qu
我喜欢 dispatch_data_t。它在内存范围之上提供了一个有用的抽象:它提供引用计数,允许消费者创建任意子范围(参与父范围的引用计数),连接子范围等。(我不会'不要费心去了解血淋淋的细节——文
我很想尝试 grand central dispatch,但我只能在 Ubuntu 工作站上进行开发。 libdispatch 和 c/obj-c 等的 block 扩展是否在 Linux 上可用?如
在基于文档的启用 ARC 的应用程序中,我有一个正在打开 HTML 文件的 WebView。我们的想法是进行一些编辑,然后保存到 WebArchive。当我运行 Instruments 时,我发现随机
早上好 我的应用程序遇到了崩溃。当用户尝试启动它时,他等了一分钟,然后引发了一个 std::exception。真的,我无法自己重现这个错误,但这似乎是一个很常见的问题。 我唯一可以跟踪的是系统日志中
我正在研究多线程,与使用 pthread.h 和 pthreads-win32好得多的选择。然而,尽管看起来 libdispatch 正在或即将在大多数较新的 POSIX 兼容系统上工作……我不得不问
我在 Android 平台上使用开源的 libDispatch (GCD)。因此,大多数复杂的耗时任务都是通过 NDK 完成的(我在其中使用 libDispatch)。 对于某些调用,我正在使用 di
我正在编译 Apple libdispatch。但是出现了错误错误:无法找到 SDK“macosx.internal”(在目标“libdispatch”中) 有没有人以前遇到过这个错误? 最佳答案 b
目标是在 Raspberry Pi 3 上运行 swift 和 libDispatch。我使用的是 Ubuntu Core 16.04 我现在的位置:我试图编译 SR-397 ( https://bu
有关更详细的信息,请参阅以下链接: Project A Inception - We must go deeper 简而言之:我在开发 cocos2d 游戏时注意到内存分配失控。我回溯并检查了 coc
查看多个 iOS 崩溃日志,我发现堆栈跟踪几乎相同,唯一的异常(exception)是来自 libdispatch.dylib 的上述行。我很好奇这种差异是否有意义(因此,这些崩溃应该分成不同的桶)或
我正在 Swift 3 中创建一个服务器端应用程序。我选择了 libevent 来实现网络代码,因为它是跨平台的,并且没有 C10k 问题。 Libevent 实现了它自己的事件循环,但我想保持 CF
我正在努力在 Ubuntu 16.04 上安装 Swift 3.0 和 GCD。这在今天应该是可能的,对吧? 以下是从 swift.org 下载 Swift 3、从 GitHub 克隆、构建和安装 s
我是一名优秀的程序员,十分优秀!