$ gdb ejecutable.exe
(gdb) dll-symbols libreria.dll
(gdb) break funcion_de_la_libreria
(gdb) run
Mostrando entradas con la etiqueta c. Mostrar todas las entradas
Mostrando entradas con la etiqueta c. Mostrar todas las entradas
martes, marzo 18, 2008
Usando gdb con DLLs
Es perfectamente posible pasar las librerías DLL por el gdb. Como es algo que no se ve enseguida en la documentación os explico este pequeño "truquito":
jueves, enero 10, 2008
¿Porqué los sistemas operativos están en C?
No me refiero a esos sistemas operativos de juguete que pululan por la red, sino a los que son productivos: Windows, Linux, MacOS, etc... No es que no quieran usar otros lenguajes radicalmente diferentes, es que ni tan siquiera se atreven a tirar de C++ (MacOS con su Objective-C poca diferencia tiene con el C normal).
Después de mi visita diaria a Reddit lo he visto claro. No es cuestión de encontrar una respuesta sino de encontrar la pregunta correcta (como dirían los budistas). La realidad es que no hay lenguajes malos para crear un S.O. lo que hay son CPUs que no se llevan bien con determinados lenguajes.
Y es que después de que se programara el primer Unix en C, las CPUs han tendido a acomodarse más a este lenguaje. La forma en que trabaja el lenguaje ensamblador de, digamos por ejemplo 8086, está íntimamente ligada a la forma en trabaja el lenguaje C.
Una prueba de lo que digo son las Lisp Machines y las CPUs para Forth. ¿Porqué si no hacer CPUs para unos lenguajes en concreto? Pues porque una CPU modelada para usarla con C nunca se podría exprimir al máximo con Forth (por ejemplo).
Después de mi visita diaria a Reddit lo he visto claro. No es cuestión de encontrar una respuesta sino de encontrar la pregunta correcta (como dirían los budistas). La realidad es que no hay lenguajes malos para crear un S.O. lo que hay son CPUs que no se llevan bien con determinados lenguajes.
Y es que después de que se programara el primer Unix en C, las CPUs han tendido a acomodarse más a este lenguaje. La forma en que trabaja el lenguaje ensamblador de, digamos por ejemplo 8086, está íntimamente ligada a la forma en trabaja el lenguaje C.
Una prueba de lo que digo son las Lisp Machines y las CPUs para Forth. ¿Porqué si no hacer CPUs para unos lenguajes en concreto? Pues porque una CPU modelada para usarla con C nunca se podría exprimir al máximo con Forth (por ejemplo).
Etiquetas:
c,
c++,
forth,
linux,
lisp,
macos,
objective-c,
sistemas operativos,
windows
miércoles, noviembre 07, 2007
IOCCC 2007
Vía Barrapunto leo que ya han salido los ganadores del último International Obfuscated C Code Contest. Para los que no sepan de que va el concurso decir que es ya todo un clásico en cuanto a osificación de programas escritos en C, ejemplos extremos del mal uso al que se le puede dar un lenguaje.
Aún no han publicado el código fuente de los últimos ganadores, pero para ir abriendo boca podéis ver los de los anteriores certámenes.
Para que se os vaya abriendo el apetito os dejo todo un clásico en cuanto a programas ofuscados. El fractal del Mandelbrot:
Aún no han publicado el código fuente de los últimos ganadores, pero para ir abriendo boca podéis ver los de los anteriores certámenes.
Para que se os vaya abriendo el apetito os dejo todo un clásico en cuanto a programas ofuscados. El fractal del Mandelbrot:
float e,a,b,c,d;int i;main(){for(b=0;b<4;b+=.091){for(a=0;a<4;a+=.051)
{c=0;d=0;for(i=99;--i&&c*c+d*d<4;)e=c*c-d*d+a-2,d=2*c*d+b-2,c=e;
putchar(". ·*%#"[i&5]);}puts("");}}
jueves, septiembre 27, 2007
Linus Torvalds y la tonteria del C vs C++
Tras la reciente polémica levantada por el flameware de Linus Torvalds con respecto al C vs C++ me gustaría dejar patente mi opinión al respecto: menuda gilipollez de comparación.
El paradigma en desarrollo de software es la filosofía que se sigue, no la metodología sino la forma en que ves el programa, el como lo sientes. Mientras C usa programación imperativa C++ usa esa más la orientada a objetos. Obviamente en C se pueden hacer objetos de forma un poco rudimentaria pero ese no es el objetivo del lenguaje, no es la forma de sentir de un programador en C.
¿A donde quiero llegar con esto? Que C y C++ son dos formas diferentes de programar y es absurdo comparar esos lenguajes como es absurdo meter a alguien en la cárcel por ser gay. Es cuestión de gustos y con que te encuentres más cómodo.
El paradigma en desarrollo de software es la filosofía que se sigue, no la metodología sino la forma en que ves el programa, el como lo sientes. Mientras C usa programación imperativa C++ usa esa más la orientada a objetos. Obviamente en C se pueden hacer objetos de forma un poco rudimentaria pero ese no es el objetivo del lenguaje, no es la forma de sentir de un programador en C.
¿A donde quiero llegar con esto? Que C y C++ son dos formas diferentes de programar y es absurdo comparar esos lenguajes como es absurdo meter a alguien en la cárcel por ser gay. Es cuestión de gustos y con que te encuentres más cómodo.
Etiquetas:
c,
c++,
flamewares,
paradigma,
programacion
Suscribirse a:
Entradas (Atom)