¿Cuáles son algunas bibliotecas comunes de uso general como Boost es para C++ pero para C? Debe ser una biblioteca multiplataforma e incluir colecciones como árboles, listas de enlaces, colas, etc. ... ¿Cuáles son las ventajas/desventajas de esas bibliotecas?C: Common Frameworks/Libraries
Respuesta
glib
es bastante agradable porque:
- liberalmente con licencia (LGPL)
- constante desarrollo
- toneladas de estructuras de datos
- árboles
- listas
- colas
- cachés
- etc.
- good documentation
- porciones de código de ejemplo
- desarrollo "ayuda"
- tala
- hilo abstracción
- grupos de subprocesos
- marco de pruebas
- temporizadores apoyo
- Unicode
- muchas plataformas soportadas
- expresiones regulares
- toneladas más ...
El Apache Portable Runtime proyecto
es bueno. Cubre las estructuras de datos básicas y es muy bueno en la abstracción de redes y de IO. Lo posterior es una magnitud mejor que glib.
Desafortunadamente la mayoría de los enlaces a documentos en los sitios web de Apache se rompen en el momento :-( Pero este trabajo se trabaja http://apr.apache.org/docs/apr/1.4/modules.html
Gracias Lothar. ¿Por qué dices que es una magnitud mejor? –
Es mucho más característica completa si desea escribir un servidor. Bueno, no es una verdadera sorpresa, creo. – Lothar
- 1. Common Lisp equivalente a C enums
- 2. Asociación en Common Lisp
- 3. Predijo Common Lisp
- 4. Create common ActionResult
- 5. Webdevelopment en Common Lisp
- 6. Best Common Lisp IDE
- 7. Secuencias en Common Lisp?
- 8. Agregar Common Hook al modo js
- 9. Renombrando lambda en Common Lisp
- 10. Palabra clave programática Common Lisp
- 11. Programación de Common Lisp Parallel
- 12. Ejercicios de Common Lisp/Problemas
- 13. Common Lisp definición del paquete
- 14. Common Lisp a Lisp-n?
- 15. División entera en Common Lisp?
- 16. Dibujando árboles en Common Lisp
- 17. Especificadores de tipo Common Lisp
- 18. Cómo implementar Multi-Threads en Common Lisp
- 19. Conexión de .NET a Common Lisp
- 20. Implementación del conjunto Mandelbrot en Common Lisp
- 21. ¿Common Lisp tiene un gran legado? (¿Es mejor aprender Common Lisp o una variante más moderna como Scheme?)
- 22. Desenrolle/argumentos splat en Common Lisp
- 23. Common Lisp: conversión entre listas y matrices
- 24. Common Lisp en Heroku con Hunchentoot?
- 25. Aprender Erlang? threadbump thread, common, small problems
- 26. Función de persistencia en Common Lisp
- 27. Ejemplos del excelente código Common Lisp?
- 28. paquetes de estadísticas para Common Lisp
- 29. Descargar archivo usando Java Common Apache?
- 30. Biblioteca de gráficos vectoriales para Common Lisp
Me salté simplista como la biblioteca de base, ya que no es posible vincular como una biblioteca estática (especialmente si lo vincula con aplicaciones gnome) o esto ha cambiado mientras tanto? – Lothar
@Lothar - es * posible *, solo significa que su software debe ser compatible con LGPL;) Si los requisitos de la licencia también son importantes, puede agregarlos a su pregunta. – detly
@Lothar: solo para aclarar algo, la licencia 'glib' (LGPL) hace que su trabajo sea un" Trabajo combinado "si enlaza estáticamente, como se indica en la Sección 4. Incluso si enlaza estáticamente, no tiene que liberar su trabajar bajo LGPL siempre y cuando "efectivamente no se restrinja la modificación de las porciones de la Biblioteca contenidas en el Trabajo Combinado". ¿Cómo puede * no * restringir la modificación de 'glib' si lo está enlazando estáticamente?Fácil: suministre los archivos objeto para que las personas puedan vincular en otra versión de 'glib'. P.S. Esto es asumiendo que no modifica 'glib'. –