X-Git-Url: https://git.llucax.com/z.facultad/75.42/calculadora.git/blobdiff_plain/73f6c1a7fc94ede48cc5e38008649b994206b012..0515b09eed74b3afc9d2957d6302a6543b1522af:/documentacion.h?ds=sidebyside diff --git a/documentacion.h b/documentacion.h index 3c1a170..c9ebceb 100644 --- a/documentacion.h +++ b/documentacion.h @@ -150,14 +150,50 @@ b = b * 2 Puede suponerse que estas ecuaciones son válidas. + +\section requerimientos Requerimientos y modo de uso. + \subsection plataforma Plataforma y compilador. + Este trabajo práctico fue realizado y probado bajo la plataforma Debian + GNU/Linux sid. El compilador utilizado fue GNU GCC versión 3.2.3 (la + versión 3.3.1 me daba un internal compiler error). + El ejecutable entregado corre bajo esta esta plataforma y su uso se + describe en la \ref uso "sección siguiente". + + De todas formas, al estar programado sólo utilizando funciones ANSI C, + debería poder compilarse bajo cualquier plataforma y compilador que + soporte este estándar. + + \subsection uso Modo de uso. + El programa debe ser llamado desde un intérprete de comandos. Necesita + dos parámetros pasados como argumento: + \verbatim ./tp2 arch_variables arch_ecuaciones \endverbatim + Donde \c arch_variables es el archivo que contiene las variables y + \c arch_ecuaciones es el archivo que contiene las ecuaciones. + + \section conclusiones Conclusiones. - Problemas: - - "Sobrecarga" de malloc. Lo hacía antes de un #include y me - tiraba un error porque la definicion de la stdlib me expandía el macro. - - La búsqueda en la lista al liberar la memoria se realiza de atrás hacia - adelante para que sea más eficiente, ya que generalmente se borra primero - la memoria que se pidió úitima. - - DLList no usa el memdebug, está bastante testeada y no pierde memoria. + El trabajo práctico me terminó resultando bastante más complejo de lo que + esperaba. En particular tuve problemas con el manejo de cadenas de texto. + + Otro problema fue la "sobrecarga" del malloc y free. Al principio tuve + problemas por poner los \c define antes del \c include de la stdlib.h, por + lo que cuando el compilador llegaba a la definición de malloc y free de la + stdlib.h me daba un error. + + Otro problema con la "sobrecarga" del malloc y free fue que no pude hacer + que la \ref DLList "lista doblemente enlazada" lo use, ya que estaba siendo + usada por mis implementaciones de malloc y free y daría lugar a recursividad + infinita (al reservar memoria para un nodo de la lista, llamaria a mi malloc + que crearía otro nodo en la lista y así sucesivamente). + + Algo poco significativo pero que aún así me gustaría nombrar es que la lista + de momoria reservada la recorro de atrás para adelante a la hora de hacer un + free() ya que es más probable que primero se libere la memoria que se + reservo última. + + El manejo de errores quedó bastante aceptable. En parser_equation() está muy + completo y en las otras funciones de parseo es mucho más básico por falta de + tiempo para hacer una mejor implementación. */