SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: SteelX en Viernes 9 de Febrero de 2007, 04:17
-
Como la mayoria de Personas que estan empezando en c/++, estan comenzando a sacar de quicio(volviendo locos) a todos con estas librerias.
He creado este post para acabar de una vez por todas con las preguntas sobre ellas.
CONIO.H y GRAPHICS.H
Este par de Librerias pertenecen a Borland y bajo ningun concepto son estandar.
SOLO se pueden usar con el compilador de Borland Turbo c o Borland c.
Son incompatibles con gcc , esto quiere decir que Devcpp, codeblocks y cualquier IDE de Linux quedan descartados .
Visual c, descartado tambien.
existen otras librerias que se pueden usar para generar graficos. API de Windows, Ncusrses, SDL. etc
en este link econtraran una definicion mas especifica:
http://www.conclase.net/c/Borland/funciones.php (http://www.conclase.net/c/Borland/funciones.php)
si algun otro integrante de este foro considera necesario agragar mas y que esten causando problemas, sea bienvenido a completar este post.
-
Bueno, solo por que lo puse hoy (ni me acorde de esto) hay otras formas de hacerlo (http://foros.solocodigo.com/index.php?showtopic=27083) aunque la verdad es que no se quien quiere usar (en Windows) programas para consola cuando se tiene un entrono grafico totalemte ligado con el sistema operativo... simplemente, no.
Nuevamente comento a libcaca para tenar un mayor numero de colores.
-
Aunque se trate de una librería no estándar, conio se ha convertido para muchos programadores educados o acostumbrados a compiladores de Borland® en una herramienta imprescindible para crear programas de consola.
Adicionalmente, cuando se crean aplicaciones de consola usando compiladores para Windows, como Dev-C++, a menudo necesitamos compilar programas escritos originalmente para compiladores Borland®. O sencillamente, queremos dotar a nuestros programas de consola de una apariencia más amigable y agradable.
Por supuesto, podemos recurrir a las funciones de consola del API de Windows, pero a menudo la conversión entre funciones de conio y sus equivalentes en el API no son tan sencillas, y en cualquier caso requiere cierto tiempo.
Este documento incluye una emulación de conio para el compilador Mingw, usado por el entorno de programación Dev-C++.
Es cierto que Dev-C++ incluye una emulación de conio, pero a nuestro juicio no es lo bastante fiel en cuanto a comportamiento a la original de Borland®. Sobre todo en funciones de ventanas, lecturas sin eco en pantalla, y en funciones como "kbhit", que o bien no se emulan, o se hace de forma incompleta.
Por supuesto, no todas las funciones y macros se han emulado, hay algunas con las que no es posible hacerlo, concretamente las que relacionadas con entrada y salida de puertos: "inp", "inport", "inportb", "inpw", "outp", "outport", "outportb" y "outpw"; ya que estas macros colisionan con el control del hardware de Windows.
Además de estas macros, la única función que no se emula es "cscanf", debido a las dificultades que entraña su implementación. En futuras versiones intentaremos incluirla. En su lugar se usa "scanf" directamente.
más info en: http://www.conclase.net/c/devcpp.php?art=conio (http://www.conclase.net/c/devcpp.php?art=conio)
-
Es cierto que Dev-C++ incluye una emulación de conio, pero a nuestro juicio no es lo bastante fiel en cuanto a comportamiento a la original de Borland®. Sobre todo en funciones de ventanas, lecturas sin eco en pantalla, y en funciones como "kbhit", que o bien no se emulan, o se hace de forma incompleta.
Hay un devpak (http://www.devpaks.org/details.php?devpak=16) con esa emulación. No la he probado bien, el problema que parece tener es que se genera un conflicto con la estructura "Color" de la librería "conio.h". De cualquier manera su- tiene razón.
-
les resumo la historia de la librería "conio.h", básicamente al no ser una librería standart muchos de sus métodos no están contemplados del todo por por los compiladores que no sean Borland, y en lo que se refiere al S.O. no existen todas las funciones definidas en conio.h en la DLL base de C que es: "msvcrt.dll" que es la que incluye las implementaciones de la mayoría de las funciones estándares de C, es por este motivo que existe una "emulación" de la librería "conio.h" que incluye las funciones no incluidas en la cabecera "conio.h" que trae el compilador por defecto, esta segunda librería incluye un archivo "conio.c", que trae las implementaciones de dichas funciones con las APIS de consola de Windows... es más... en mi sitio posteé esta librería con compatibilidad para DevCpp y Visual C, cualquier cosa fijence...
ah... y otro tema... cuando te hablo de incluir "conio.c" no hablo de incluirlo con un #include, sinó como un archivo del proyecto, básicamente sería así:
en el código fuente:
#include "conio.h"
y en el proyecto (en la barra de menús del devcpp):
Proyecto->Añadir a Proyecto->"conio.c"
S2