Repolode
idealvin

idealvin/coost

Biblioteca base ligera de C++ que reúne corrutinas al estilo goroutine, networking, logging, análisis de flags, JSON, pruebas unitarias y benchmarking.

Estrellas
4,225
Forks
593
Issues abiertos
0
Último commit
hace 27 días

¿Qué es?

coost es una biblioteca base de C++ que reúne en una sola dependencia los componentes de infraestructura que suele necesitar un servicio de C++. Es compatible con Linux, macOS, Windows y FreeBSD, y con CPU x86, x64, ARM y ARM64.

La biblioteca ofrece corrutinas al estilo Go que, de forma predeterminada, se distribuyen entre varios threads y usan stacks compartidos para reducir el consumo de memoria. Sobre ellas se construyen una API de sockets basada en corrutinas, un wrapper para servidores y clientes TCP, y un framework RPC sencillo basado en JSON. Entre los demás componentes se incluyen un logger que imprime stack traces cuando se producen crashes, un parser de flags para argumentos de línea de comandos y archivos de configuración, un tipo JSON con una interfaz fluida, un framework de pruebas unitarias y otro de benchmarking.

El código se organiza en headers bajo include/, fuentes bajo src/ que se compilan en libco, y pruebas bajo unitest/. El proyecto recomienda xmake para compilar y también es compatible con CMake. Requiere un compilador de C++17.

Funciones clave

  • 01Corrutinas al estilo Go distribuidas entre varios threads, con stacks compartidos para reducir el consumo de memoria.
  • 02API de sockets basada en corrutinas, wrapper para servidores y clientes TCP con compatibilidad con IPv6, y framework RPC basado en JSON.
  • 03Logger que imprime stack traces cuando se producen crashes y admite aserciones en tiempo de ejecución.
  • 04Análisis de flags para argumentos de línea de comandos y archivos de configuración, con alias y generación automática de archivos de configuración.
  • 05Tipo JSON integrado con una interfaz fluida, además de frameworks de pruebas unitarias y benchmarking.

Casos de uso

  • Crear servicios de red de C++ de alto rendimiento basados en corrutinas, sin depender de código cargado de callbacks.
  • Añadir logging rápido y preparado para detectar crashes a aplicaciones de C++.
  • Analizar flags de línea de comandos y archivos de configuración en herramientas de C++.
  • Sustituir varias bibliotecas base independientes por una sola dependencia.

Inicio rápido

  1. 1

    Instala la herramienta de compilación xmake desde la página del proyecto

  2. 2

    Desde el directorio raíz de coost, compila libco

    xmake
  3. 3

    Compila el programa de pruebas unitarias

    xmake b unitest
  4. 4

    Ejecuta todos los casos de prueba unitaria

    xmake r unitest

Antes de usarlo

  • Se necesita un compilador compatible con C++17.
  • Parte del código incluido procede de otros proyectos y puede estar sujeto a licencias diferentes.

En colecciones

Temas

Preguntas frecuentes

¿Qué es coost?
Biblioteca base ligera de C++ que reúne corrutinas al estilo goroutine, networking, logging, análisis de flags, JSON, pruebas unitarias y benchmarking. coost es una biblioteca base de C++ que reúne en una sola dependencia los componentes de infraestructura que suele necesitar un servicio de C++. Es compatible con Linux, macOS, Windows y FreeBSD, y con CPU x86, x64, ARM y ARM64.
¿coost es gratuito? ¿Qué licencia tiene?
coost es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿coost sigue mantenido?
Mantenimiento activo. El último commit de coost fue el 28 sept 2026.
¿Para qué puedo usar coost?
Crear servicios de red de C++ de alto rendimiento basados en corrutinas, sin depender de código cargado de callbacks. Añadir logging rápido y preparado para detectar crashes a aplicaciones de C++. Analizar flags de línea de comandos y archivos de configuración en herramientas de C++. Sustituir varias bibliotecas base independientes por una sola dependencia.
¿Cómo se instala coost?
Instala la herramienta de compilación xmake desde la página del proyecto Desde el directorio raíz de coost, compila libco: xmake Compila el programa de pruebas unitarias: xmake b unitest Ejecuta todos los casos de prueba unitaria: xmake r unitest
¿Dónde consigo coost?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/idealvin/coost

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados