Pro e contro di GLib v APR di ciascuno [chiuso]
-
08-07-2019 - |
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?
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à.