Используя центральную отправку в Linux

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

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

15
задан Richard Slater 30 April 2017 в 11:31
поделиться

1 ответ

Прочитав обзор Ars Technica , оказалось, что есть несколько проблем

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

С учетом всего вышесказанного, порт FreeBSD готов, так что это должно быть возможно.

9
ответ дан 1 December 2019 в 03:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: