Punteros vs Arrays (parte 2 de 2)

marzo 5, 2011

En el post anterior describí las diferencias principales entre array y punteros en C. A continuación intentaré explicar por qué las cosas son como son y que consecuencias conllevan.
(más…)

3

Punteros vs Arrays (parte 1 de 2)

marzo 4, 2011

En C y, por herencia, en C++ los punteros y los arrays tienen una curiosa relación: son parecidos, en muchos casos intercambiables, pero no son iguales. Y muchos programadores los confunden, aun después de considerable experiencia. En este artículo me propongo aclarar de una vez por todas las diferencias entre estos dos conceptos.
(más…)

2

Colorear la salida del compilador con sed

octubre 1, 2010
Tags: , , , , , ,

¿Alguna vez te has perdido intentando distinguir los errores entre todo el texto de salida del compilador? El sencillo script que presento aquí añade colores para que sea más fácil de leer, usando un comando sed. De paso es un buen ejemplo para practicar un poco con el sed.
(más…)

3

Capturar imágenes de un terminal virtual

septiembre 15, 2010

Todos sabemos que en el entorno gráfico de Linux se puede capturar la imagen de pantalla simplemente pulsando la tecla ImprPant. Pero, ¿cómo se puede capturar la imagen de un terminal virtual? Por si andas despistado, un terminal virtual (o VT de Virtual Terminal) es la pantalla de texto con la que arranca el sistema, y a la que puedes volver con Ctrl+Alt+F. A continuación presento un programita que captura la imagen visible en el VT y la graba en un fichero PNG.
(más…)

0

Bucle foreach en C++0x

julio 28, 2010

A menudo se dice que C++ es un lenguaje complicado, y como ejemplo se cita la iteración sobre los elementos de un contenedor (una lista, por ejemplo): otros lenguajes tienen una sintaxis de tipo for-each, pero en C++ hay que hacer un bucle manual, con iteradores e incremento. Pero ¡ya no más! C++0x incluirá una nueva sintaxis de la sentencia for que será la envidia de los usuarios de otros lenguajes.
(más…)

0

Programando con Unicode

junio 30, 2010

En una ocasión una conocida empresa de transportes me envió un paquete, según el cual yo vivo en una ciudad llamada CORUÐA, lo cual es absurdo, porque según los anuncios dirigidos de Internet ¡yo vivo en Coruña! (o en Coru�a, según versiones).

Por supuesto, esto también está mal. Estos son errores de codificación, y se deben a que el programador no tuvo en cuenta unas cuantas reglas básicas. En un tema previo ya escribí sobre codificaciones, ahora intentaré dar unos cuantos consejos básicos, para evitar al menos los errores más sangrantes.
(más…)

3

Páginas de código y codificaciones: ASCII, Unicode y otros

junio 9, 2010

Todo programador que se enfrente habitualmente a cadenas de texto (es decir, todos excepto quizás los que se dedican al cálculo numérico) deberían conocer al menos los conceptos generales relativos a la codificación de caracteres. Desafortunadamente, esto no siempre es así, y en los cursos de formación, incluso avanzados, estos temas se ignoran sistemáticamente. En este artículo me propongo desentrañar los conceptos básicos. En otro posterior me centraré con más detalle en los problemas prácticos que estos plantean.
(más…)

2

Control de acceso en el servidor de ventanas X

mayo 26, 2010

La seguridad en las conexiones a un servidor de ventanas X nunca ha sido muy bien explicada ni entendida, y como en los sistemas GNU/Linux modernos las cosas simplemente funcionan no hay demasiada motivación para entender este tema. Hasta que las cosas dejan de funcionar; entonces este tema pasa a ser de vital importancia. Y también es importante que los administradores de sistemas conozcan cómo funciona para no dejar abiertos agujeros de seguridad, que podrían ser fatales.
(más…)

1

Funciones lambda en C++0x

mayo 12, 2010

Una de las funcionalidades menos esperadas, pero en mi opinión más bienvenidas, del nuevo estándar de C++ son las funciones Lambda. Originalmente creadas para los lenguajes funcionales, cada vez encuentran más uso en los lenguajes habituales (reconozcámoslo, los lenguajes funcionales no se usan mucho), véanse los delegates en Java y C#, por ejemplo. La inclusión de este concepto en C++, aunque algo limitada en comparación con otros lenguajes de más alto nivel, ofrece muchas posibilidades interesantes.
(más…)

0

Utilidad para leer particiones Ext2/3/4

mayo 1, 2010

En los dos últimos posts describí el formato del sistema de archivos Ext2/3/4 y las extensiones más frecuentes. Hoy, puesto que una línea de código vale más que mil palabras, presento una pequeña librería que proporciona acceso a los archivos de uno de estos sistemas (en modo solo lectura, no quiero problemas), y una herramienta sencilla de ejemplo: e2cat. Esta copia un archivo del dispositivo indicado sin necesidad de copiar el volumen.

Descarga el código fuente aquí (licencia zlib/libpng).

Y descarga el binario para MS-Windows aquí.

(más…)

2