(Ich hasse die Tatsache, dass ich noch nicht kommentieren, da mein Ruf nicht hoch genug ist, so dass der Grund für diese „Antwort“ ist)
@ user57368 korrekt im ersten Absatz ist jedoch Es gibt (basierend auf der ursprünglichen Frage) ein paar "Probleme" mit den letzten zwei Absätzen:
GCD (Apples "großes" Threading-Tool namens Grand Central Dispatcher) ist das Laufzeit-Threading, das libdispatch nutzt, das die " dispatch_ * "Funktionen. GCD macht einen großen Nutzen (und macht den Code "netter"), indem er das Block-Konstrukt verwendet. JEDOCH GCD tut nicht müssen Blöcke, da es Funktionsversionen der Funktionsaufrufe dispatch_ * gibt.
Blocks ist eine Sprache, die auf lamdba basiert, und ist nicht abhängig von GCD/libdispatch-Funktionalität. Sie wurden beide von Apple zur gleichen Zeit in der MacOSX/iOS/Xcode-Welt eingeführt, sind aber nicht voneinander abhängig.
PS: Es gibt eine libdispatch-Implementierung für FreeBSD, die ich kürzlich gesehen habe, und einige Versuche, eine Option auch unter Linux zu implementieren.
Haben Sie es versucht? Das könnte deine Frage beantworten .... – Jasarien
Es gibt nicht das "Werkzeug", um Objective-C-Code unter Linux zu kompilieren, also hat er es vielleicht versucht und ist gescheitert und sucht jetzt nach einem anderen Werkzeug. – Alfonso
Sorry Leute, ich habe versucht zu kompilieren. Ich habe die Frage aktualisiert, um weitere Details zu erhalten. Ich habe eine Google-Suche durchgeführt und gelesen, dass Blöcke nicht in der Haupt-GCC akzeptiert werden. Ich konnte nicht genug Informationen finden, um den einfachen Code zum Kompilieren zu bekommen. – user565452