Pregunta

Tengo un par de proyectos de programación de hobby C que me gustaría comenzar. Estoy buscando una biblioteca de código abierto que tenga una licencia liberal (quiero crédito, pero casi cualquiera puede usarla). La biblioteca necesita tener cadenas mejores que la biblioteca estándar de C y algunas primitivas de subprocesamiento portátiles.

Estoy considerando GLib y APR . ¿Cuál es tu experiencia práctica? ¿Cuál es la mejor biblioteca C fundamental? ¿Hay otras bibliotecas que llenen el mismo nicho?

¿Fue útil?

Solución

Creo que glib es generalmente superior a apr. glib tiene muchas más estructuras de datos como bibliotecas portátiles. por ejemplo, tablas hash, todo tipo de listas, colas, pilas, matriz dinámica, también para análisis de argumentos, el archivo io también tiene sus propios contenedores y la gestión de la memoria es fácil de modificar. Por ejemplo, puede hacer que Glib use el Boehm Weisser GC con facilidad. Esto AFAIKT nunca se ha hecho o es posible con Apache. Yo decidiría un poco diferente. Si necesita una biblioteca más útil de estructuras de datos, glib está mejor equipado. Si se trata de cosas de GUI, libapr no tiene nada, mientras que glib tiene gdk / gtk + y muchas cosas para gnome si lo desea.

Sin embargo, si se trata de cosas de red, libapr definitivamente tiene una ventaja sobre glib.

Entonces mis sugerencias son

  • Programación de escritorio : use GTK + y glib.
  • Material de red : use apr, pero tenga la seguridad de que glib también tiene todo este material portátil.

Otros consejos

Yo iría con APR. APR es mejor en portabilidad Unix / Windows (siendo una biblioteca de portabilidad dedicada), GLib ha estado tradicionalmente más orientado a Unix. APR es una biblioteca más grande que GLib, con muchas cosas útiles (tablas hash, análisis de argumentos, cosas de E / S de archivos, administración de memoria, rutinas de memoria compartida, manejo de señales, etc.).

¿Hay alguna razón por la que no quieras usar el c ++ stl? Incluso si está escribiendo "c-style" código sin clases, puede usar cadenas de c ++ y estructura de datos.

Hay muchas razones válidas para apegarse a C, por supuesto. Si ese es el caso, recomendaría glib. APR es más una capa de portabilidad que una biblioteca de utilidades.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top