PDF de programación - atix05 2008

Imágen de pdf atix05 2008

atix05 2008gráfica de visualizaciones

Actualizado el 29 de Enero del 2021 (Publicado el 14 de Marzo del 2020)
574 visualizaciones desde el 14 de Marzo del 2020
5,3 MB
58 paginas
Creado hace 15a (10/11/2008)
Dirección y Coordinación General
Esteban Saavedra López ([email protected])

Diseño y Maquetación 
Jenny Saavedra López ([email protected])
Esteban Saavedra López ([email protected])

Herramientas

La edición de esta revista fue realizada de forma integra haciendo uso de Software
Libre



Todos recordamos, las palabras de nuestros padres cuando eramos pequeños,
donde nos recomendaban qué debíamos hacer y qué no; en realidad todas esas
palabras nos fueron ayudando a comprender las normas y las formas de organizar
todas y cada una de nuestras actividades. Hoy en día estamos seguros que esas
palabras fueron las que nos impulsaron a mantener la disciplina en todo lo que
hacemos.

Si nos detenemos a pensar y meditar la realidad del mundo actual, observaremos
realmente cuanto ayudó y ayuda la disciplina en el mundo, a nivel de países, de
empresas, y de personas. La disciplina se convierte en un elemento esencial para
lograr progreso, bienestar y supervivencia; es por eso que en el tema de proyectos
de software libre, la disciplina se convierte en un elemento indispensable, que al ser
aplicado de forma correcta, permitirá que nuestros proyectos prosperen y sean
exitosos

Disciplina – Un elemento importante, un título que contiene de por si, un elemento
que debe estar presente en todo proyecto y en toda actividad de nuestras vidas, de
tal forma que al ponerla en práctica, lograremos tener mayor eficiencia y eficacia en
la realización de los mismos, y nos permitirá cumplir las metas trazadas.

En éste quinto número ponderamos aspectos como la presencia de nuevos autores
y la presencia de nuevas áreas de publicación, también empezamos con la
participación de entusiastas del software libre de países amigos en América Latina,
caso específico Venezuela; así mismo adelantarles que en los próximos números
presentaremos notables sorpresas de interés para la comunidad de software libre de
América Latina.

Mantener la disciplina, un paso hacia el progreso.

Bienvenidos a nuestro quinto número

Esteban Saavedra López
Director y Coordinador General

Utilizando herramientas
de desarrollo C++
en Linux (1ra parte)

Desarrollar y construir sistemas en entornos *NIX puede llegar a parecer algo dificultoso
al inicio, sin embargo, con el uso adecuado de las herramientas que proveen los
entornos GNU, ésta se vuelve una tarea sencilla.

La salida debe verse:

g++: no input files

En caso de obtener la salida anterior, existe
un compilador C++ instalado en el sistema.
En caso de que la salida sea:

bash: g++: command not found

Se debe instalar el paquete build-essential de
la siguiente forma (utilizar superusuario):

arn@localhost:~$ apt-get install build-
essential

Nota: El paquete build-essential contiene
todas las herramientas necesarias que se
tocarán en este tutorial. Si su sistema no
soporta el comando apt-get (que es típico de
distribuciones tipo Debian), el paquete existe
en todas las distribuciones: Ej: buscar
paquetes RPM.
Ahora crearemos el código fuente de un
“hola mundo”. Con su editor de texto favorito
crear el archivo
holamundo.cpp 
#include <iostream>
int main(int argc, char **argv){
std::cout << "Hola mundo" <<
std::cout;
return 0;
}

Guardarlo y compilarlo utilizando la siguiente

Introducción
Como desarrolladores, debemos conocer
todos los estándares que exige el entorno.
Este pequeño tutorial describe algunas
prácticas base, cuyo objetivo no es el de
profundizar a desarrolladores expertos en el
tema, sino, el de dar a conocer las
herramientas que pueden ser utilizadas de
una forma bastante simple en cualquier shell,
especialmente para los amantes de C.

Un entorno de desarrollo
simple
Vamos a utilizar el lenguaje C++ para crear la
parte lógica del desarrollo, es decir, para
crear los programas.
Primero debemos verificar si existe un
compilador GNU para C++ (debe quedar
claro que no es lo mismo un compilador de
C). Para comprobarlo debemos utilizar la
siguiente orden en un shell:

arn@localhost:~$ g++

orden en el shell:

arn@localhost:~$ g++ holamundo.cpp

Como resultado de esta compilación se
creará el archivo a.out dentro del mismo
directorio de trabajo. Notarán que este
archivo tiene permisos de ejecución.
Podemos comprobarlo listando sus atributos
con:
arn@localhost:~$ ls -l a.out

-rwxr-xr-x 1 arn arn 8482 2008-10-23
11:47 a.out

Las X’s significan permisos de ejecución. De
éste modo ejecutemos el archivo generado
con :
arn@localhost:~$ ./a.out
Hola mundo

Excelente!, nuestro primer programa en un
entorno *NIX ha sido creado con éxito. Sin
embargo, en un entorno de desarrollo más
profesional, se necesita que las herramientas
sean lo más versátiles posible. El compilador
GNU de C++ utilizado tiene muchas más
opciones, por ejemplo, para producir un
ejecutable que
tenga un nombre
primerprograma, se debe compilar de la
siguiente forma:
arn@localhost:~$ g++ holamundo.cpp -o
primerprograma

Y para ejecutarlo:

arn@localhost:~$ ./primerprograma
Hola mundo
Un proyecto de varios
archivos
Hacer proyectos grandes cuyo código fuente
conste únicamente de un archivo, es
simplemente fantasioso o tal vez muy
atrevido, pero por sobre todas las cosas, es
muy poco práctico. Los programas siempre
utilizan varios archivos fuente para poder
compilarse en un solo ejecutable. En el



siguiente ejemplo utilizaremos dos módulos:
main.cpp donde reside el punto de
inicio del programa(función main)
libreria.h donde existe algunas
rutinas de librería bastante básicas
(funciones suma y resta)



main.cpp
#include <iostream>
#include "libreria.h"
int main(int argc, char **argv){
int resultado = suma(4,6);
std::cout << "El resultado de la suma
es: "
<< resultado << std::endl;
return 0;
}

libreria.h
int suma(int a , int b ){
return (a+b);
}
int resta(int a, int b){
return (a-b);
}

Para compilar este programa, se debe
ejecutar:

arn@localhost:~$ g++ main.cpp libreria.h
-o programa
Estandarizando las librerías:
archivos de cabecera
Las librerías de C y C++ en entornos de
desarrollo *nix, se descomponen en
dos partes:

✔ Declaraciones: Archivos header que
son una especie de “índice” de rutinas
y demás utilitarios en las librerías

✔ Las definiciones: Archivos donde
existe la implementación completa de
las librerías

Para el ejemplo anterior, si estandarizamos la
librería debemos dividirlo en dos partes
libreria.h y libreria.c

 libreria.h
#ifndef LIBRERIA_H
#define LIBRERIA_H
int suma(int, int);
int resta(int, int);
#endif

libreria.cpp
#include "libreria.h"
int suma(int a, int b){
return (a+b);
}
int resta(int a, int b){
return (a-b);
}

Debemos notar las definiciones #ifndef 
LIBRERIA_H , #define LIBRERIA_H y #endif,
que son macros que evitan que el archivo
sea incluido dos veces en un ejecutable (que
sería un error de sintaxis). Es muy frecuente
encontrar dichos macros en todos los
archivos de cabeceras de sistemas en
desarrollo.
La división de éste tipo usualmente por
razones prácticas. En el archivo de
cabecera .h se pueden encontrar todas las
definiciones
clases,
enumeraciones, constantes y otras macros,
de este modo, un desarrollador puede
encontrar fácilmente algo que necesite,
puesto que sirve como una especie de índice
o resumen.
En este punto tenemos dos opciones:

rutinas,

de



✔ Compilar todos los archivos fuente
(main.cpp,
libreria.h,
libreria.cpp) en un solo paso para
crear el ejecutable.
la

librería
y
independientemente(libreria.h
libreria.cpp del programa, cuyo
código fuente luego se enlazará en un
siguiente paso con la librería.

✔ Compilar



Para la primera opción procedemos de la
siguiente manera:

arn@localhost:~$ g++ libreria.cpp
libreria.h main.cpp -o programa

La segunda opción es la más común, y es

una forma más estandarizada de hacerlo:
creando una librería independiente, para que
en un paso posterior, hacer un enlace de
dicha librería y el programa principal. Primero
hacemos la creación de la librería

arn@localhost:~$ g++ libreria.cpp
libreria.h -c -o libreria.o

Este comando crea el archivo binario librería
La opción -c indica que solo se creará un
archivo no ejecutable,
puesto que
libreria.o debe ser enlazado a otro código
para ser ejecutado. Cabe destacar que no es
necesario incluir el archivo de cabecera en el
comando de compilación, puesto que dentro
de libreria.cpp ya lo incluye, solo debe
estar accesible. En nuestro caso, todos los
archivos están en el mismo directorio, así
que no existe problemas en éste aspecto, sin
embargo,
proyectos más grandes y
estructurados necesitan otras directivas que
se mencionaran más adelante. Así que lo
siguiente también es completamente válido:

arn@localhost:~$ g++ libreria.cpp
libreria.h -c -o libreria.o

Lo que debemos hacer a continuación es
enlazarlo al archivo fuente de inicio que
creará el ejecutable.

arn@localhost:~$ g++ main.cpp libreria.o
-o programa

La ventana de ésta última opción es que
podemos utilizar el
archivo binario
librería.o para enlazar con cualquier otro
programa, por ejemplo, para utilizarlo en:
program2.cpp: 
#include <iostream>
#include "libreria.h"
int main(int argc, char ** argv){
std::cout << "El resultado de "
  • Links de descarga
http://lwp-l.com/pdf17398

Comentarios de: atix05 2008 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad