Domanda

Ho un paio di progetti di programmazione per hobby C che vorrei iniziare. Sto cercando una libreria open source che abbia una licenza liberale (voglio credito, ma praticamente tutti possono usare). La libreria deve avere stringhe migliori della libreria C standard e di alcune primitive di threading portatili.

Sto considerando GLib e APR . Qual è la tua esperienza pratica? Qual è la migliore libreria C di base? Ci sono altre librerie che riempiono la stessa nicchia?

È stato utile?

Soluzione

Penso che glib sia generalmente superiore ad apr. glib ha molte più strutture dati come librerie portatili. ad esempio tabelle hash, tutti i tipi di elenchi, code, stack, array dinamico, anche per l'analisi degli argomenti, il file io ha anche i propri wrapper e la gestione della memoria è facilmente modificabile. Ad esempio, puoi facilmente usare glib con il Boehm Weisser GC, questo è AFAIKT mai fatto o facile con Apache. Deciderei un po 'diverso. Se hai bisogno di una libreria più utile di strutture dati, glib è meglio equipaggiato. Se si tratta di cose della GUI di libapr non ha nulla, mentre glib ha gdk / gtk + e molte cose per gnome, se vuoi.

Tuttavia, se si tratta di cose di rete, libapr ha sicuramente un vantaggio rispetto a glib.

Quindi i miei suggerimenti sono

  • Programmazione desktop : usa GTK + e glib.
  • Elementi di rete : usa apr, ma assicurati che glib ha anche tutto questo materiale portatile.

Altri suggerimenti

Andrei con APR. APR è migliore per la portabilità Unix / Windows (essendo una libreria di portabilità dedicata), GLib è stato tradizionalmente più orientato verso Unix. APR è una libreria più grande di GLib, con molte cose utili (tabelle hash, analisi degli argomenti, elementi I / O dei file, gestione della memoria, routine di memoria condivisa, gestione dei segnali, ecc.)

C'è un motivo per cui non vorresti usare il c ++ stl? Anche se stai scrivendo "c-style" codice senza classi, puoi usare stringhe c ++ e struttura dati.

Ci sono molti motivi validi per attenersi a C, ovviamente. In tal caso, secondo la raccomandazione per glib. APR è più un livello di portabilità che una libreria di utilità.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top