Estos son mis apuntes para ojearlos de vez en cuando, y si le sirve a alguien mas de ayuda, pues tanto mejor.
Utilizare el programa gdb para depurar programas escritos en C,
para ello usare un sistema tipo Unix, en este caso un FreeBSD instalado
en http://m-net.arbornet.org, para ello usare una de sus shells
gratuitas, en bash concretamente. Para usar esta shell, la configuro en el archivo .bashrc con estas pocas lineas
export FIGNORE=".o" # "Extensiones" a ignorar por el ESC-ESC
# Por seguridad, elegimos por defecto que al copiar, se nos pregunte si
# queremos sobreescribir el fichero destino. Lo mismo hacemos con mv y rm
alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'
#Los comentarios van hechos con el caracter #
Como editor de textos o de codigo usare el Vim, el cual esta en la mayoria de sistemas Unix/Linux
aqui van algunas lineas para mi configuracon en el archivo .vimrc.
set number
syntax on
set dictionary=/home/eb7bmo/diccionario
set nocompatible
set ruler
" Para redactar facilmente
iab _miweb http://cwmorse.eu5.org/
iab _miweb2 http://m-net.arbornet.org/~eb7bmo
iab _salu Muchas gracias y saludos.
iab _mail eb7bmo@hotmail.com
iab _lineac /*=============================*/
"Aqui los comentarios van con el caracter "(doble comilla)
Usare tambien el programa screen, para hacer la depuracion y la edicion de codigo mas facil.
Todo lo expuesto aqui, tambien lo trabajo desde mi sistema Linux/Ubuntu
10.10 (maverick), pero teniendo la shell gratuita no nos hace falta
tener un linux instalado.
Para empezar nos conectaremos con un telnet m-net.arbornet.org y cuando
nos pida login introducimos "newuser", sin las comillas claro esta. A
partir de ahi, seguir los pasos hasta obetener la cuenta shell.
Ya tenemos todo lo que nos hace falta, un sistema, una shell, el
depurador gdb, el editor vim, el programa screen y como no el compilador
gcc. Al grano, editamos un codigo en lenguaje C para probar todo esto, y seria por ejemplo este:
#include <stdio.h>
main()
{
int Numero1;
int Numero2;
int resultado;
Numero1 = 20;
Numero2 = 100;
resultado = Numero2 + Numero2;
printf("Su Multiplicacion es %d", resultado);
printf("\n\n");
}
Una vez que estamos en el prompt de la shell escribimos "screen", lo que
hace que entremos en este programa, nos sale una pantalla de
presentacion y pulsamos enter, ya estamos en el, observamos que es una
shell corriente, pero no es asi, para salir podemos usar el comando
"exit". Una vez que estamos dentro, vamos a crear una divisin de
pantalla, que es para lo que yo lo utilizo, pulsamos CONTROL + a, que
nos pone en modo comando y despues pulsamos S mayuscula, premio, ya
tenemos las dos pantallas para trabajar. Pero si observamos bien, en la
pantalla de abajo no tenemos nada, tranquilos, vamos a por ella. El
cursor esta en la de arriba, pulsamos de nuevo CONTROL+a, y despues la
tela de tabulacion, si esa, la de las dos flechitas. Ahora estamos enla
ventana de abajo, pero solo esta el cursor parpadeando enla parte de
arriba pues no hay nada en ella. Vamos a crear otra shell, para ello
pasamos al modo comando, si eso, CONTROL+a, y a continuacion pulsamos la
letra c, de crear :). Ya tenemos las dos shell abiertas y listas para
trabajar en ellas. Para cambiar de una a otro solo tienes que pasar a
modo comando y pulsar la tecla de tabulacion
Vamos a crear el codigo en C de arriba, para ello abrimos el vim con el nombre del archivo, por ejemplo
"vim prueba.c", a mi me gusta hacerlo en la shell superior. Ahora
copiamos el codigo en este archivo y una vez hecho, lo compilamos desde
el vim, ya sabeis, ESC y
:!gcc % -o prueba -g
el caracter % indica el nombre del archivo en uso, prueba.c, el -o
seguido del nombre del ejecutable que deseamos crear, y por ultimo y mas
importante el argumento -g que hace que el ejecutable tenga lo
necesario para poderlo depugar con el potentisimo gdb.
Probamos el ejecutable, con ESC y
:!./prueba
Claro que esto sera si no se tenido fallos al escribir el codigo, pues
en otro caso nos dara un aviso del error con linea en la que se ha
producido en el tiempo de compilacion. Si son programas cortos, se mira
la linea y se accede a ella, pero si es un programa bien largo, la cosa
sera mejor automatizarla, para ello usamos el comando :make desde el
vim, pero antes creamos un simple makefile para este programa, y seria
algo asi..
prueba: prueba.c
gcc -o program prueba.c -g
Ahora, ya podemos compilarlo tambien desde vim pero con el comando:
:make
Si el codigo tiene errores nos lleva hasta la linea automaticamentre, cosa que se agradece...
Una vez que se ha compilado sin errores nos vamos a la de abajo,
CONTROL+a y tabulacion, y ejecutamos el gdb con el parametro "prueba",
una cosas asi
gdb prueba
Ya podemos depurarlo si tiene errores en tiempo de ejecucion, y tambien
editar y volver a compilar y volverlo a correr, eso si, si la edicion
que hagamos en el codigo hace que las lineas aumenten o disminuyan,
habra que tener cuidado con los breakpoints que hayamos puesto, pues
ahora quedan en otras lineas de programa.
Y eso es todo por el momento, en otra ocasion vere si hago alguna
chuletilla sobre como usar los comandos del gdb con el programa anterior
y otros.
Muchas gracias y saludos.
viernes, 14 de febrero de 2014
jueves, 13 de febrero de 2014
django en Ubuntu 12.04 (y con mod_python)
Para empezar instalo django desde la terminal
:~$ sudo apt-get install python-django
ejeucto django-admin.py y no esta en el path del sistema, asi que creo un enlace simbólico a /usr/bin
:~$ sudo ln -s /usr/share/pyshared/django/bin/django-admin.py /usr/bin/django-admin.py
para poder ser ejecutado por cualquier usuario modifico el archivo asi:
:~$ sudo chmod +x /usr/share/pyshared/django/bin/django-admin.py
compruebo que ahora si se puede ejecutar
:~$ django-admin.py
Usage: django-admin.py subcommand [options] [args]
Options:
-v VERBOSITY, --verbosity=VERBOSITY
bla bla bla............
ahora desde el directorio elegido para crear proyectos y aplicaciones ejecuto el comando
:~$ django-admin.py startproject misitio
retocar los archivos y ejecutar el servidor de desarrollo asi...
:~$ python manage.py runserver
desde el directorio creado del proyecto claro, que tendrá el archivo manage.py
y a partir de ahí a consultar tutos y/o manuales :)
Configurar apache para correr aplicaciones django
Primero instalar mod_python
:~$ sudo apt-get install libapache2-mod-python
Yo ya tenia instalado apache2 y corriendo con php y mysql instalados, asi que ahora solo configurar apache para correr django
en el archivo /etc/hosts pongo estas lineas
127.0.0.1 localhost
127.0.1.1 eb7bmo
en eb7bmo es donde quiero correr con django, asi que ahora toco la configuración de apache en /etc/apache2/sites-available/default, edito este archivo y añado lo siguiente:
<VirtualHost *:80>
DocumentRoot /home/sierra21/django/misitio
ServerName eb7bmo
<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE misitio.settings
PythonDebug On
PythonPath "['/home/sierra21/django','/home/sierra21/django/misitio']+sys.path"
</Location>
</VirtualHost>
hay un VirtualHost configurado antes, a eso solo le añado la clave
ServerName localhost #donde corresponde
reiniciamos apache
:~$ sudo /etc/init.d/apache2 restart
y a correr php o python, listo ;))
Salu2
:~$ sudo apt-get install python-django
ejeucto django-admin.py y no esta en el path del sistema, asi que creo un enlace simbólico a /usr/bin
:~$ sudo ln -s /usr/share/pyshared/django/bin/django-admin.py /usr/bin/django-admin.py
para poder ser ejecutado por cualquier usuario modifico el archivo asi:
:~$ sudo chmod +x /usr/share/pyshared/django/bin/django-admin.py
compruebo que ahora si se puede ejecutar
:~$ django-admin.py
Usage: django-admin.py subcommand [options] [args]
Options:
-v VERBOSITY, --verbosity=VERBOSITY
bla bla bla............
ahora desde el directorio elegido para crear proyectos y aplicaciones ejecuto el comando
:~$ django-admin.py startproject misitio
retocar los archivos y ejecutar el servidor de desarrollo asi...
:~$ python manage.py runserver
desde el directorio creado del proyecto claro, que tendrá el archivo manage.py
y a partir de ahí a consultar tutos y/o manuales :)
Configurar apache para correr aplicaciones django
Primero instalar mod_python
:~$ sudo apt-get install libapache2-mod-python
Yo ya tenia instalado apache2 y corriendo con php y mysql instalados, asi que ahora solo configurar apache para correr django
en el archivo /etc/hosts pongo estas lineas
127.0.0.1 localhost
127.0.1.1 eb7bmo
en eb7bmo es donde quiero correr con django, asi que ahora toco la configuración de apache en /etc/apache2/sites-available/default, edito este archivo y añado lo siguiente:
<VirtualHost *:80>
DocumentRoot /home/sierra21/django/misitio
ServerName eb7bmo
<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE misitio.settings
PythonDebug On
PythonPath "['/home/sierra21/django','/home/sierra21/django/misitio']+sys.path"
</Location>
</VirtualHost>
hay un VirtualHost configurado antes, a eso solo le añado la clave
ServerName localhost #donde corresponde
reiniciamos apache
:~$ sudo /etc/init.d/apache2 restart
y a correr php o python, listo ;))
Salu2
Suscribirse a:
Comentarios (Atom)