Este proyecto implementa la función get_next_line, que reproduce el comportamiento de la función estándar de C para leer una línea completa de un archivo, manejando buffers de tamaño configurable. La biblioteca también incluye una versión adicional (bonus) que amplía la funcionalidad para soportar múltiples descriptores de archivo abiertos al mismo tiempo, lo que permite leer de varios archivos simultáneamente.
Los siguientes comandos deben ser ejecutados en la terminal, dentro del directorio denominado Extras:
-
make all: Compila el proyecto y genera la biblioteca estáticaget_next_line.asin incluir las funciones adicionales (bonus). -
make bonus: Compila las funciones adicionales (bonus) que permiten manejar múltiples descriptores de archivo y genera la biblioteca estáticaget_next_line.a. -
make test: Una vez compilado, genera un ejecutable de prueba usandomain.cy lo ejecuta para verificar el correcto funcionamiento de la funciónget_next_line. -
make test_bonus: Similar al comando anterior, pero usamain_bonus.cpara probar la funcionalidad de las funciones adicionales (bonus). -
make clean: Elimina los archivos objeto (.o) generados durante la compilación. -
make fclean: Ejecuta el comandocleany, además, elimina el archivoget_next_line.ay cualquier ejecutable generado (test_programotest_program_bonus). -
make re: Ejecuta los comandosfcleanyall, recompilando todo el proyecto desde cero. -
make test_sanitize: Compila el proyecto usando las herramientas de sanitización para comprobar posibles errores de memoria durante la ejecución de las pruebas. -
make test_valgrind: Ejecuta el proyecto usando Valgrind para identificar fugas de memoria u otros problemas de manejo de memoria.
Puedes ajustar el tamaño del buffer usado por get_next_line estableciendo la variable BUFFER_SIZE al ejecutar el Makefile. El valor predeterminado es 42, pero puedes modificarlo: