Подтвердить что ты не робот

Использование большой центральной отправки в Linux

Возможно ли это, поскольку Apple открыла исходный код (libdispatch?). Я немного смущен тем, как это можно использовать. Это как библиотека с API, которую может использовать любое приложение, или функция ОС, встроенная в Mac OS X? Может ли приложение, встроенное для Mac и iPhone (с iOS 4), использовать эту библиотеку?

Я предполагаю, что нужно запустить порт, чтобы сделать gcc также совместимым с новой семантикой, которую представил Apple.

4b9b3361

Ответ 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 или более поздней версии, в порядке.

Сказав все это,