Solo porque tengo curiosidad: ¿hay algún análogo en C para la funcionalidad del STL en C++? He visto mencionar una biblioteca GTK+ llamada glib que algunas personas consideran que llena la factura, pero ¿hay otras bibliotecas que proporcionen la funcionalidad STL en C?C Analógico a STL
Respuesta
Sí, glib
es una muy buena opción: incluye muchas utilidades para manipular contenedores como listas enlazadas, matrices, tablas hash, etc. Y también hay un marco orientado a objetos llamado GObject
que puede usar para hacer objetos con señales y ranuras en C (aunque con nombres de llamada de función bastante detallada como gobject_set_property
, ya que C no tiene ninguna sintaxis para los objetos). Y también hay un código para los bucles principales para que pueda escribir programas impulsados por eventos.
Más información de Wikipedia: http://en.wikipedia.org/wiki/Glib
Glib fue originalmente parte de GTK, pero el código no GUI ha sido completamente factor fuera para que pueda utilizarlo en programas de línea de comandos: http://library.gnome.org/devel/glib/stable/
Omg, me encanta C .. –
Bueno, dado que la naturaleza de STL se basa en plantillas que C no tiene, sería difícil incluso acercarse al STL en C. Lo mejor que podría esperar es algunas clases de colección que manipulan punteros void * para objeto desconocido
@James Curran, estaba pidiendo un _analog_ a la STL. Me doy cuenta de que las plantillas son una característica de C++. –
STL es mucho más que una biblioteca de contenedores. –
Soy consciente de que STL es más que una biblioteca de contenedores, por lo que dije "Lo mejor que puedes esperar" –
- 1. Linux analógico a Windows GetAsyncKeyState()
- 2. Coffeescript || = analógico?
- 3. D Analógico a C++ member-function-pointers, no necesariamente delegados
- 4. C++ Asignadores conforme a STL
- 5. C# analógico para SQL en el operador
- 6. Buena biblioteca similar a STL para C
- 7. Python analógico de Unix 'que'
- 8. C equivalente de C++ STL
- 9. C++ STL con jemalloc
- 10. RAII y C++ STL
- 11. C++ UNICODE y STL
- 12. C++: STL multimap.equal_range()
- 13. C++ sin STL
- 14. Búsqueda binaria C++ STL
- 15. C++ Pregunta STL: asignadores
- 16. C error STL ++ quitar
- 17. Analógico de startActivityForResult for Service
- 18. cadenas Relleno STL en C++
- 19. Expresiones regulares en C++ STL
- 20. Cómo aplicar la transformación a un mapa STL en C++
- 21. matplotlib analógico de pares de R '
- 22. analógico PHP de MySQL como función
- 23. Analógico de programación COM en Linux/UNIX
- 24. ASM o CGLIB analógico para Dalvik
- 25. ¿Un buen C equivalente al vector STL?
- 26. C++ Vectores STL: Obtener iterador del índice?
- 27. ¿Estándares de Java/C++ STL equivalentes?
- 28. Depuración de contenedores C++ STL en Windbg
- 29. Solución de problemas en C++ con STL
- 30. C++ STL asignador vs operador nueva
¿Por qué? El 99% del tiempo puede convertir código C bien escrito en código C++ simplemente cambiando la configuración del compilador. ¿Por qué no comenzar a usar el código C++? – davr
@davr, estoy usando el código C++. Solo tenía curiosidad sobre la posibilidad de algo como el STL (y sus estructuras de datos) en C. Sigo diciéndole a la gente que usa C++ que deje de usar matrices: en su lugar, use. Así que tenía curiosidad por si había algo más seguro en C. –
@davr Esta pregunta es bastante útil para las personas que escriben código para sistemas integrados que solo ofrecen compiladores de C. Si podemos hacer la programación de estilo C++ en C, podemos tener la funcionalidad C++ en una gran variedad de procesadores integrados. – solvingPuzzles