Archivo

Entradas Etiquetadas ‘Programación’

C++ : Delete NULL Pointer

Domingo, 19 de septiembre de 2010 3 comentarios

Uno no deja de aprender cosas. Ahora me doy cuenta de que el operador delete de C++ comprueba internamente si la dirección del puntero que se le pasa es NULL o no, y en el primer caso no hace nada. Se acabó el tener que comprobar si un puntero es NULL o no antes de liberarlo. Viejos vicios de C con las funciones malloc y free

One doesn’t stop learning things. Now I realize that the C++ delete operator check internally if the pointer address is NULL or not, and in the first case the operator does nothing. No more having to check if a pointer is NULL or not before freeing. Old vices from C with malloc and free functions …

GD Star Rating
loading...
Share
Categories: Programación Tags: ,

OpenGL – Internal error of FBConfig

Domingo, 12 de septiembre de 2010 Sin comentarios

Volviendo a retomar la programación en OpenGL, me he encontrado un error al cual extrañamente no he encontrado solución buscando por internet. El programa me compilaba perfectamente, pero al ejecutarlo me lanzaba el siguiente error: Leer más…

GD Star Rating
loading...
Share

c++ : Imprimir a fichero o salida estándar de forma genérica

Miércoles, 17 de marzo de 2010 1 comentario

Cuando queremos mostrar datos al usuario en nuestros programas normalmente tenemos que elegir entre mostrarlos por la salida estandar o a un fichero. En C++ se suele utilizar la clase std::cout para hacer referencia a la salida estandar y std::ofstream para manejar flujos de salida. No obtante, podemos utilizar la clase std::streambuf para referenciar a los búferes de las clases anteriores y así poder trabajar en nuestros programas de forma genérica. Leer más…

GD Star Rating
loading...
Share

C/C++: Calificador restrict

Sábado, 13 de marzo de 2010 3 comentarios

cpp1

Hay que ver lo que son las cosas. Leyéndome un libro de OpenMP descubro una característica de C/C++ bastante importante que había pasado inadvertida para mi durante todos estos años que llevo programando. Resulta que el calificador restrict (o __restrict__ en C++) permite especificar si sabemos a ciencia cierta si el puntero al que añadimos este calificador apunta a un objeto que no es apuntado por ningún otro puntero. Esto es especialmente útil para programas científicos donde los cálculos realizados sobre matrices abundan especialmente. Lo realmente interesante es que al usar este calificador el compilador puede introducir algunas mejoras en el código objeto resultante que mejorarán la eficiencia, y por tanto el tiempo de computo, de nuestros programas. A continuación os muestro unos ejemplos sencillos de como usar el calificador y los tiempos de ejecución obtenidos.

Leer más…

GD Star Rating
loading...
Share
Categories: General Tags: , , ,

Octave: Instalando paquetes

Viernes, 19 de febrero de 2010 6 comentarios

Octave esun lenguaje de alto nivel principalmente orientado a computación numérica. Junto a Scilab, plantan cara a la conocida suite Matlab, pero eso si de forma gratuita. No obstante Octave es parte del proyecto GNU y por lo tanto con licencia GPL, algo a lo que Scilab no se acoge y por lo tanto me he decantado por empezar a usar el primero. He de decir que es compatible con la mayoría de la funcionalidad que existe en Matlab, pudiendo trabajar con los mismos ficheros de funciones que desarrollan investigadores de todo el mundo y con los mismos ficheros de datos que Matlab almacena.

Leer más…

GD Star Rating
loading...
Share