包含dispatch_get_main_queue(GCD)的标准库

时间:2015-07-26 13:09:02

标签: objective-c macos grand-central-dispatch core-foundation

我试图从OSX上的另一个线程运行一些NSWindow函数。我通过ctypes这样做,所以需要找到库文件。

dispatch_sync我在libc.dylib找到了但我无法找到dispatch_get_main_queue,是否有人知道所在的图书馆?它不在libc吗?我想基于这里使用它:Objective C Multi thread NSWindow alternative?

我也无法找到opensource.apple上使用的类型的文档。有人也可以帮我找到这个Dispatch模块。

1 个答案:

答案 0 :(得分:1)

dispatch_get_main_queue()是一个内联函数,因此它不会在任何库中结束。它被编译到每个使用它的[Objective-] C / C ++文件中。

它或多或少地编译为(dispatch_queue_t)&_dispatch_main_q。也就是说,全局变量_dispatch_main_qdispatch_get_main_queue()只返回其地址,类型为dispatch_queue_t

在我的10.9.5系统上,_dispatch_main_q由/usr/lib/system/libdispatch.dylib导出。