Utilizzando grande spedizione centrale di Linux
-
01-10-2019 - |
Domanda
Questo è possibile, dal momento che Apple ha open source il codice (libdispatch
?) Sto po 'confuso su come si può fare uso di questa. E 'questo come una biblioteca con un'API che qualsiasi applicazione può fare uso di, o di una funzione di sistema operativo integrato in Mac OS X? Può applicazione costruita "per" Mac e iPhone (iOS 4) solo fare uso di questa libreria?
I assumere uno deve eseguire una porta per make gcc
anche compatibile con la nuova semantica che Apple ha introdotto.
Soluzione
Dopo aver letto la Ars Technica panoramica , sembra che ci sono diverse sfide
- GCD fa ampio uso di blocchi (un'estensione ad Apple di C che si avvicina chiusure) il che significa che le vostre esigenze di compilatore a blocchi di supporto. La versione standard di gcc non ha il supporto per i blocchi, quindi potrete sia necessario ai cambiamenti porto di Apple per il GCC Linux o l'uso clang / LLVM.
- La versione per Mac OS X di GCD comporta un certo codice nel kernel. Chiaramente, se sono necessarie modifiche del kernel di Linux per supportare GCD, che è un pezzo importante di lavoro. Tuttavia, sembra che uno spazio utente solo porto è possibile.
- GCD è rilasciato sotto la licenza Apache. A quanto pare, questa licenza non è compatibile con GPL v2. Così non si può utilizzare GCD in qualsiasi applicazione distribuita sotto licenza GPL v2. GPL v3 è però OK, quindi un app sotto licenza GPL v2 "o poi" è OK.
Detto questo, il porto FreeBSD è stato fatto, quindi deve essere possibile.
Altri suggerimenti
E 'quasi un anno più tardi, ma io sono usarlo tranquillamente su Ubuntu Natty. pacchetti corretta stanno arrivando in Oneiric.