¿Qué es Ncurses?

Ncurses es una biblioteca de programación que provee una API que permite al programador escribir interfaces basadas en texto, TUIs. También optimiza el refresco de la pantalla, lo que permite reducir la latencia experimentada cuando se usan intérpretes de comandos remotos.

Ncurses significa «new curses», ya que es un reemplazo del descontinuado curses clásico de 4.4BSD.

Es posible usar Ncurses en cualquier sistema Unix que siga la norma ANSI/POSIX. Aparte de esto la librería es capaz de detectar las propiedades del terminal de la base de datos del sistema y actuar en consecuencia, proporcionando una interfaz independiente del terminal.

El proyecto provee APIs oficiales en C, C++ y Ada, aunque también hay bindings para otros lenguajes, como Perl, Python o Vala. Forma parte del proyecto GNU. Es uno de los pocos programas de GNU que no se distribuye bajo la GPL ni bajo la LGPL, sino bajo la licencia MIT.

Como Ncurses no es una librería estándar de C, es necesario ordenar al compilador que la enlace con nuestro programa.

Base de datos de la Terminal

Ncurses puede usar ambas, terminfo o termcap. Otras implementaciones de curses generalmente usan terminfo; una minoría usa termcap. En menor orden existen pocas que usan ambas.

Existen cientos de programas los cuales usan Ncurses. Algunos como el GNU Screen y w3m, usan solo la interfaz termcap, realizando el manejo de pantalla dentro de la aplicación. Otros, como GNU Midnight Commander y YaST usan la interfaz de programa curses.

Espero que esta información les sea útil, saludos…

Mas información:

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s