2010-06-30 10 views
12

¿Es esto posible, ya que Apple ha abierto el código de fuente abierta (libdispatch?). Estoy un poco confundido sobre cómo se puede hacer uso de esto. ¿Es esto como una biblioteca con una API que cualquier aplicación puede usar, o una característica del sistema operativo integrada en Mac OS X? ¿Pueden las aplicaciones creadas "para" Mac y iPhone (con iOS 4) por sí solas hacer uso de esta biblioteca?Uso del despacho de Grand Central en Linux

Supongo que uno tiene que ejecutar un puerto para hacer que gcc también sea compatible con la nueva semántica que Apple ha introducido.

Respuesta

8

haber leído el Ars Technica overview, parece que hay varios desafíos

  • GCD hace un amplio uso de bloques (una extensión de Apple a C que se aproxima el cierre), que significa que su compilador debe ser compatible con los bloques. La versión estándar de gcc no admite bloques, por lo que tendrá que realizar los cambios de Apple en el gcc de Linux o utilizar clang/llvm.
  • La versión Mac OS X de GCD implica algún código en el kernel. Claramente, si se requieren cambios de kernel para Linux para soportar GCD, esa es una gran tarea. Sin embargo, parece que solo es posible un puerto de espacio de usuario.
  • GCD está licenciado bajo la licencia de Apache. Aparentemente, esta licencia no es compatible con GPL v2. Entonces no puedes usar GCD en ninguna aplicación distribuida bajo GPL v2. Sin embargo, GPL v3 está bien, por lo que una aplicación con licencia bajo GPL v2 "o posterior" está bien.

Habiendo dicho todo eso, el FreeBSD port ha sido hecho, por lo que debe ser posible.

+5

Me cambiaría a Clang de todos modos. Sus errores son mucho más convenientes. :) –

+0

@Time Machine: estoy de acuerdo. Ya me mudé a clang para mis proyectos de Xcode. Supuestamente compila más rápido y produce un código mejor optimizado también, aunque nunca he visto puntos de referencia para probarlo. – JeremyP

14

Es casi un año más tarde pero estoy using it quite happily en Ubuntu Natty. Los paquetes apropiados están llegando en Oneiric.

+0

Gracias por el seguimiento, Chris. – prabhu

+0

Ya no está disponible :(. ¿Podría actualizar el enlace? – bacchus

+0

@bacchus Desde que Twitter canibalizó a Posterous (¡y mi blog!) ¡No he tenido tiempo de recuperarlo, gracias por recordarme! Le dejaré saber cuando vuelve en línea. –

Cuestiones relacionadas