2012-04-30 12 views
10

So che questa domanda potrebbe sembrare strana perché GLib è una libreria di portabilità, ma quanto è portatile? Per citare un esempio: GLib (incluso GObject) gira su microcontrollori o dipende da qualche tipo di sistema operativo?Quanto è portatile GLib?

Ci sono limitazioni su dove posso utilizzare GLib o funzionerà ovunque dove è possibile eseguire il codice C?

risposta

6

L'unica risorsa che ho trovato su ciò che le dipendenze di GLib sono è qui:

Compiling the GLib package

cercare nella sezione "Dipendenze" - le dipendenze non opzionali sembrano essere:

  • Una funzione iconv
  • Una funzione gettext
  • A implemen filettatura zione
  • Il PCRE library

Questo significa che è necessario fornire (o porto) ognuno di questi per qualunque sia il sistema di destinazione è (per esempio un microcontrollore). Sebbene non sia una barriera insormontabile, una implementazione di threading implica generalmente una qualche forma di sistema operativo.

Inoltre, vale la pena notare che GLib sembra dipendere da un ambiente "Hosted" C, e quindi sarà necessario avere anche una libreria C standard per l'ambiente di destinazione (al contrario di una "Libera") Ambiente C, un sottoinsieme dello standard C non richiede che una libreria C standard venga portata in porto). Vedi Hosted and Free-Standing Environments. Ancora una volta questo generale implica almeno una forma base del sistema operativo .