2012-04-30 18 views
10

Sé que esta pregunta puede sonar extraña porque GLib es una biblioteca de portabilidad, pero ¿qué tan portátil es? Para nombrar un ejemplo: ¿GLib (incluido GObject) se ejecuta en microcontroladores o depende de algún tipo de sistema operativo?¿Qué tan portátil es GLib?

¿Hay alguna limitación sobre dónde puedo usar GLib o se ejecutará en todas partes donde es posible ejecutar el código C?

Respuesta

6

El único recurso que pude encontrar en lo que las dependencias de GLib son está aquí:

Compiling the GLib package

busque en la sección "Dependencias" - las dependencias no opcionales parece ser:

  • Una función iconv
  • Una función gettext
  • A implemen threading tación
  • El PCRE library

Esto significa que usted tendrá que proporcionar (o puerto) a cada uno de éstos sea cual sea el sistema de destino es (por ejemplo, un microcontrolador). Aunque no es una barrera infranqueable, una implementación de subprocesos generalmente implica alguna forma de sistema operativo.

También vale la pena señalar que GLib parece depender de un entorno C "Hosted", por lo que también necesitaría tener una biblioteca estándar C portada al entorno de destino también (en lugar de un "Independiente" El entorno C, un subconjunto del estándar C no requiere que una biblioteca C estándar sea portada). Ver Hosted and Free-Standing Environments. De nuevo, esto generalmente implica al menos un muy forma básica de sistema operativo.