Ответ 1
Прочитав обзор Ars Technica, кажется, что есть несколько проблем
- GCD широко использует блоки (расширение Apple до C, которое приближается к закрытию), что означает, что ваш компилятор должен поддерживать блоки. Стандартная версия gcc не поддерживает блоки, поэтому вам придется либо переносить изменения Apple в Linux gcc, либо использовать clang/llvm.
- Версия GCD для Mac OS X включает в себя некоторый код в ядре. Ясно, что если для Linux требуется поддержка ядра, чтобы поддерживать GCD, это большая часть работы. Тем не менее, кажется, что возможен только порт для пользовательского пространства.
- GCD лицензируется по лицензии Apache. По-видимому, эта лицензия несовместима с GPL v2. Таким образом, вы не можете использовать GCD в любом приложении, распространяемом под GPL v2. GPL v3 в порядке, так что приложение, лицензированное в GPL v2 или более поздней версии, в порядке.