principales - ¿Utilizar bibliotecas de impulso C++?
principales librerias en lenguaje c (6)
Posible duplicado:
Boost Library
A menudo, cuando estaba intentando (y fracasando) un proyecto de C ++, me encuentro con Boost cuando navego por la web. Intenté leer el sitio web de Boost, pero no había una buena descripción breve de por qué usar Boost y qué es exactamente.
Una de las cosas que me gusta mucho de Python es que todo está integrado y en varias plataformas, solicitudes web, correo electrónico, XML, JSON, etc. ¿Es este también el caso de Boost?
Entonces, suficiente despotricamiento, mis preguntas concretas contestables:
- ¿Qué es exactamente Boost?
- ¿Cuáles son las razones más importantes para usar Boost?
- ¿Es completamente multiplataforma?
- ¿Es más "seguro" que el código habitual de elaboración casera en el que rápidamente se pasa por alto ese desbordamiento de búfer, etc.?
- ¿Hay algún enlace a una página que describa todos los módulos de Boost en una o dos oraciones?
¿Qué es exactamente Boost?
Boost es una colección de bibliotecas útiles y de muy alta calidad para C ++ que complementan la biblioteca estándar bastante pequeña.
¿Cuáles son las razones más importantes para usar Boost?
Boost ofrece herramientas de alta calidad que faltan en C ++. Aunque su uso es extremadamente variado, si Boost es para usted depende completamente de sus necesidades. Pero puedo decir con seguridad que cualquier base de código C ++ suficientemente grande se beneficiaría del uso de Boost.
Algunas de las partes más versátiles son shared_ptr
(un puntero inteligente de conteo de referencias que ayuda a evitar fugas de memoria en código rico en punteros), array
que proporciona una envoltura muy conveniente alrededor de arreglos de estilo C de tamaño fijo y otros pequeños bits impares que tienen integrado en el próximo estándar de C ++.
¿Es completamente multiplataforma?
Casi siempre sí Esta es una de las principales cualidades de Boost.
¿Hay algún enlace a una página que describa todos los módulos de Boost en una o dos oraciones?
¿Qué es exactamente Boost?
Boost es una colección de librerías C ++ que lo ayudan a evitar escribir código personalizado para resolver problemas comunes.
¿Cuáles son las razones más importantes para usar Boost?
Boost le ahorra tener que diseñar, implementar y probar las soluciones que ofrece. Esto le ahorrará una gran cantidad de tiempo y le ayudará a evitar errores en el camino.
¿Es completamente multiplataforma?
Boost admite muchas plataformas, a veces soluciones de catering para ser eficientes en plataformas particulares. Puede ver las plataformas en las que se ha probado, cerca de la parte inferior de la page versión actual bajo el encabezado Comprobado por compiladores .
¿Es más "seguro" que el código habitual de elaboración casera en el que rápidamente se pasa por alto ese desbordamiento de búfer, etc.?
Sí, a menos que tenga mucho tiempo para probar su código. Boost incluye un conjunto de pruebas automatizadas y es probado por cientos de miles, sino millones, de desarrolladores a través del uso diario. También tiene mucha documentación que lo ayuda a desarrollar con las bibliotecas que incluye. Boost no solo es más seguro que la mayoría de los códigos elaborados en casa, también es, en general, más eficiente.
¿Hay algún enlace a una página que describa todos los módulos de Boost en una o dos oraciones?
La página de enlaces de Boost Library Documentation ofrece un resumen de una oración de todas las bibliotecas en Boost.
¿Algo que la página de impulso en wikipedia no responda?
1) Boost es un conjunto de API, desarrollado por algunas de las mejores mentes en C ++. Puedes usar tanto o tan poco como quieras. Cada API tiene como objetivo y resuelve un paradigma particular. Por ejemplo:
lexical_cast<> - Type-safe ways of casting from one type to another.
program_options - Library for parsing command lines in a type-safe manner
asio - Asynchronous Input/Output. Great for working with sockets, IP4/IP6
shared_ptr - Reference-counted smart pointer
... y muchos más.
2) Una de las razones más importantes para usar Boost es que los grandes desarrolladores que han hecho esto lo han hecho bien. Estas soluciones son revisadas por pares y robustas. Si tiene un problema que resolver y Boost tiene una API que se ajusta a la factura, es probable que deba usarla.
3) Es casi tan multiplataforma como la que obtendrás. es decir, sí.
4) Usaría impulso sobre el código casero de cualquier persona. Homebrew tiende a ser utilizado por un único desarrollador (la persona que lo codificó). Boost está en uso en aplicaciones comerciales en todas partes y, como dije antes, es revisado por pares. No se vuelve mucho más robusto que eso.
5) La página de impulso principal tiene una lista de bibliotecas por función y alfabéticamente.
BOOST es una colección de necesidades de llenado de bibliotecas comunes a muchos proyectos de C ++. En general, priorizan la corrección, la reutilización, la portabilidad, el rendimiento en tiempo de ejecución y la eficiencia de espacio sobre la legibilidad del código de implementación de BOOST, o en ocasiones compilan los tiempos. Tienden a no cubrir los requisitos funcionales de alto nivel (por ejemplo, marcos de aplicación), y en su lugar (afortunadamente) ofrecen bloques de construcción que se pueden combinar más libremente sin imponer o dominar el diseño de la aplicación.
Las razones importantes para considerar el uso de BOOST incluyen:
- la mayoría de las bibliotecas están bastante bien probadas y diseñadas: en general, algunos programadores excelentes obtienen una revisión razonablemente sólida, en comparación con personas con soluciones caseras en el mismo espacio problemático, y son ampliamente utilizadas para recopilar comentarios extensos sobre el mundo real.
- ya está escrito y su solución probablemente no sea
- es bastante portátil (pero eso varía según la biblioteca)
- más personas en la comunidad de C ++ tendrán una ventaja para ayudarte con tu código
- BOOST es a menudo un terreno de prueba para la introducción al estándar C ++, por lo que tendrá menos trabajo que hacer en la reescritura de su código para ser compatible con futuros estándares sin BOOST
- debido a la demanda de la comunidad, es más probable que los fabricantes de compiladores prueben y reaccionen a los problemas de corrección con el uso BOOST
Las bibliotecas se describen en una línea o dos aquí: http://www.boost.org/doc/libs/ .
Boost es una colección de clases y otras cosas para C ++ que faltan en el STL. Muchas de las bibliotecas en Boost están siendo incluidas en el nuevo estándar de C ++. Definitivamente es mucho más seguro que lo que podrías inventar ya que este código es ampliamente utilizado y revisado por pares. Generalmente es multiplataforma, pero puede haber algunos errores.
En cuanto a lo que está en alza, mira esto: http://www.boost.org/doc/libs/1_45_0/?view=categorized