0

J'essaie d'exécuter certaines fonctions NSWindow à partir d'un autre thread sous OSX. Je le fais par l'intermédiaire de ctypes donc besoin de trouver les fichiers de la bibliothèque.Bibliothèque standard contenant dispatch_get_main_queue (GCD)

dispatch_sync J'ai trouvé dans libc.dylib mais je ne peux pas trouver dispatch_get_main_queue, est ce que quelqu'un connaît la bibliothèque qui est dans? N'est-ce pas au libc? Je pensais utiliser ceci basé sur ici: Objective C Multi thread NSWindow alternative?

Je ne pourrais également pas trouver les docs des types utilisés sur opensource.apple quelqu'un peut m'aider également à trouver que pour ce module Dispatch.

Répondre

1

dispatch_get_main_queue() est une fonction inline, donc elle ne se retrouve dans aucune bibliothèque. Il est compilé dans chaque fichier [Objective-] C/C++ qui l'utilise. Il compile jusqu'à (dispatch_queue_t)&_dispatch_main_q, plus ou moins. Autrement dit, il existe une variable globale _dispatch_main_q et dispatch_get_main_queue() renvoie simplement son adresse, tapez cast à dispatch_queue_t.

Sur mon système 10.9.5, _dispatch_main_q est exporté par /usr/lib/system/libdispatch.dylib.

+0

Merci beaucoup Ken pour cette réponse rapide! Je luttais avec cette ventouse pour comme 12 heures! Activé et désactivé: P – Noitidart