PDF de programación - Begins 01 200604

Imágen de pdf Begins 01 200604

Begins 01 200604gráfica de visualizaciones

Publicado el 10 de Julio del 2017
460 visualizaciones desde el 10 de Julio del 2017
1,7 MB
11 paginas
Creado hace 18a (30/03/2006)
B e g i n s

Número 01

La Revista de Software Libre y Código Abierto

MARZO 2006

PROGRAMACION
Biblioteca en C

DESKTOP
Gnome 2.14

HOMO INSIPIENS
Open Document
Project

TIPS
¿Se te olvidó la
password de root?

TESTIMONIOS
Linux desde
Windows

 

Desktop
Gnome 2.14

 

Editorial

Bienvenidos

Con esto queremos dar inicio  a Begins, revista que tiene por objetivo 
tratar temas de Software Libre y Código Abierto.

Se ha realizado un esfuerzo tremendo para llegar a este primer número 
y ansiando que no sea el último.

Esperamos poder llegar a los lectores que se interesen en las materias 
que tiene por objetivo la revista.

Invitamos  que  envíen  sus  sugerencias  ,  comentarios  y  dejamos  la 
puerta abierta para los interesados en participar en la construcción de la 
revista  ya  sea  enviando  algún  articulo  o  cualquier  aporte  que  sea  de 
utilidad para los próximos números que deseamos lograr llevar a cabo 
en un futuro cercano.

Editorial
[email protected]

Redacción
Dionisio Fernández
[email protected]

Alvaro Parra
[email protected]

Rodrigo Ramírez
[email protected]

Diseño
Luis Alvarez Alday
[email protected]
www.muestrate.cl

Begins fue realizado con
OpenOffice Impress 2.0

"Copyright (c) 2006 LinuxChillan. Se otorga permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de 

Documentación Libre de GNU, Versión 1.2 o cualquier otra versión posterior publicada por la Free Software Foundation; sin Secciones Invariantes 
ni Textos de Cubierta Delantera ni Textos de Cubierta Trasera. Puedes consultar una copia de la licencia en http://www.gnu.org/copyleft/fdl.html".

 

 

Begins

Página 01

Contenidos

Programación en Bibliotecas C
A  veces la  utilización  de  bibliotecas nos ayudan  la tarea  de programación 
porque nos permite la re utilización de rutinas (procedimientos y funciones) 
en diferentes
programas que se desarrollen...

Gnome 2.14
El pasado 15 de Marzo la comunidad linuxera disfruto del lanzamiento de la 
nueva versión de Gnome 2.14 siguiendo su costumbre al sexto mes fue 
liberada.

Homo Insipiens
Alguna  vez  te  has  preguntado  como  puedes  compartir  información  con  el 
resto del mundo sin que tengas que pagar una licencia determinada o ser un 
delincuente utilizando los programas sin pagar esta?...

Tip's
¿Se te olvidó o perdiste la password de ROOT? A continuación se detallará 
métodos para esos casos que has perdido u olvidado la password de root en 
un Sistema Operativo con kernel Linux(SO/Linux).

Página 03

Página 05

Página 06

Página 08

Testimonios
Linux desde Windows, soy un usuario que habitualmente utiliza "Windows"...

Página 09

Editando Begins, cuando se me pidió colaborar con el diseño de la revista 
Begins, lo primero que se me vino a la mente fue “¿en que formato?”...

 

Página 02

 

Begins

Programación
Programación de bibliotecas en C

“ Programar una biblioteca puede parecer una tarea algo complicada o 
difícil pero realizar esto es sumamente fácil”

imprimir.c

A  veces  la  utilización  de  bibliotecas  nos  ayudan  la  tarea  de 
programación  porque  nos  permite 
rutinas 
funciones)  en  diferentes  programas  que  se 
(procedimientos  y 
desarrollen  sin  estar  incluyendo  el  código  de  estas  rutinas  al 
programa.

reutilización  de 

la 

Por lo tanto si tenemos rutinas que utilizamos de manera frecuente en 
nuestros programas un buen método es crear bibliotecas con ellas.

Si no sabes que es un biblioteca o mal llamadas librerías (por su mala 
traducción  del  ingles  library)  podemos  decir  que  son  un  grupo  de 
funciones  y  procedimientos  que  se  agrupan  en  un  archivo  para  su 
utilización por otro programa. Existen las estáticas y compartidas, las 
primeras al momento de compilar nuestro programa se incluyen en él 
las rutinas que utiliza de la biblioteca y en las compartidas se incluyen 
tan solo referencias a las rutinas de la biblioteca, esto ultimo permite 
que cuando un programa se ejecuta estas bibliotecas se carguen en 
memoria la cual puede utilizarse por otros programas sin necesidad de 
cargar estos trozos de código otra ves en memoria ,esto es contrario a 
las  estaticas  porque  las  rutinas  están  insertas  en  el  programa  y  se 
cargan  cada  estos  trozos  de  código  que  hacen  lo  mismo  sin  la 
posibilidad  de  ser  utilizados  por  otro  programa.  Programar  un 
biblioteca  puede  parecer  una  tarea  algo  complicada  o  difícil  pero 
realizar esto es sumamente fácil, nuestra demostración se basará en 
la construcción de una biblioteca estática y otra compartida, dentro de 
nuestra  biblioteca  incluiremos  un  procedimiento  que  imprimirá  un 
mensaje en pantalla el que será pasado por parámetro y una función 
que nos entrega en calculo del factorial de un numero dado (pasado 
por parámetro), para luego que estas rutinas sean llamadas desde un 
programa de ejemplo. 

El proceso de crear una bibliotecas es escribir nuestro código fuente, 
compilar a código objeto el fuente y crear la biblioteca con los archivos 
objetos. 

Biblioteca estática

A  continuación  procederemos  a  escribir  nuestras  rutinas  que  serán 
incluidas en la biblioteca, los archivo de las rutinas serán factorial.c e 
imprimir.c

 

Begins

 

#include <stdio.h>

void imprimir_en_pantalla (const char * mensaje){

printf ("%s", mensaje);

}

factorial.c

#include <stdio.h>

long factorial (long numero){

if (numero > 0)

return numero * factorial(numero ­ 1);

else return 1;

}

Teniendo  nuestros  códigos  fuentes  los  pasaremos  a  código  objeto 
utilizando gcc

gcc ­c imprimir.c factorial.c

Esto nos creara archivos terminados .o (imprimir.o y factorial.o)

Ahora  procederemos  a  crear  nuestra  biblioteca  estática  con  nuestros 
archivos  de 
llamaremos 
libejemploestatica.a

código  objeto,  a 

la  biblioteca 

la 

ar ­rsc libejemploestatica.a imprimir.o factorial.o

Esto  último  lo  que  hizo  es  crear  el  archivo  de  la  biblioteca  (opcion  ­c), 
introducir  los  archivos  objeto  al  archivo  creado  (opción  ­r)  y  por  ultimo 
crea  un  índice  de  los  módulos  (opción  ­s),  esto  ultimo  permite  que  el 
linker (ld) al momento de compilar (ld es llamado por gcc) no tenga que 
leerse  toda  la  biblioteca  completa  ya  que  se  agregan  los  índices  y 
descripción de los módulos. El proceso de crear el índice de los módulos 
también se pude realizar con ranlib.

Página 03

Programación

miprograma.c

#include <stdio.h>
#include "libejemploestatica.h"

int main(){

printf("Programa ejemplo de utilización de biblioteca \n");
imprimir_en_pantalla("Vamos a calcular factorial \n");
printf ("El valor del factorial de 4 es : %i \n", factorial(4));

}

Ahora  nos  falta  crear  nuestro  archivo  de  cabecera,  los  que 
tienen  terminación  .h,  en  este  archivo  se  incluirán  las 
llamadas  a  las  rutinas  de  la  biblioteca  y  es  una  manera 
elegante porque también puedes incluir estas llamadas en el 
programa que las vas utilizar.

archivo de cabecera libejemploestatica.h

extern void imprimir_en_pantalla (const char *);
extern long factorial (long);

No es necesario que el archivo de cabecera y biblioteca sean 
iguales antes de su terminación ALGO.

Listo  lo  anterior  realizaremos  nuestro  programa  de  ejemplo 
de utilización de las rutinas de la biblioteca.

Y por ultimo compilar a ejecutable nuestro programa
utilizando la biblioteca

gcc ­o programa_ejecutable miprograma.c ­L. ­
lejemploestatica

Se puede observar que con la opción ­L le indicamos donde 
estará nuestro archivo de cabecera y por lo tanto el . indicar 
el  directorio  actual,  también  lo  que  corresponde  ­l  a  la 
biblioteca y en caso de SO c/Linux
llevan  prefijo lib  por  eso  no se  antepone  y  fue la razón del 
nombre que le dimos anteriormente. Al caso anterior hubiera 
sido  mas  elegante  haber  creado  el  directorio  include  y  lib 
donde  en  include  iría  nuestro  archivo  de  cabecera  y  lib  la 
biblioteca,

 

Página 04

 

para haber compilado siguiendo ese caso debería haber 
hecho de la siguiente forma

Página 03

$ gcc ­o programa_ejecutable miprograma.c ­I./include ­
L./lib ­lejemploestatica

Biblioteca compartida

Siguiendo con el ejemplo anterior solo tenemos que hacer 
lo  siguiente  para  crear  nuestra  código  objeto  debemos 
hacer de esta forma

gcc ­c ­fPIC factorial.c imprimir.c

la  generación  de  la  biblioteca  compartida  la  cual  tendrá 
ahora la extensión .so 

gcc ­shared ­o libejemplocompartida.so factorial.o imprimir.o

Y  por  último 
compilado con nuestra biblioteca compartida

la  generación  de  nuestro  ejecutable 

gcc ­o programa_ejecutable miprograma.c ­L. ­
lejemplocompartida

Eso  sería  todo,  cualquier  duda  o  comentario  pueden 
realizarlo  al  email

R o d r i g o R a m í r e z N .
[email protected]

Begins

Desktop

El pasado 15 de Marzo la comunidad linuxera disfruto del lanzamiento de la 
nueva  versión  de  Gnome  2.14  siguiendo  su  costumbre  al  sexto  mes  fue 
liberada.

Esta vez los cambios no se centraron en lo estético del Escritorio más bien en 
lo que pasa por debajo de este mejorando significativamente el rendimiento, 
como ejemplo podemos ver que se optimizo el renderizado del texto, manejo 
de  memoria  y  la  optimización  de  variadas  aplicaciones.  El  hecho  de  que 
renderice  más  rápido  el  texto  y  que  tenga  un  mejor  manejo  de  memoria 
beneficia  completamente  a  las  aplicaciones  hechas  para  Gnome  y  a  las 
GTK+.

Acá se puede apreciar el tiempo entre Gnome 2.12 y Gnome 2.14.

Claro  que  nunca  hay  que  dejar  de 
implementar  nuevas 
funcionalidades,  como  es  la  inclusión  de  un  mejor  sistema  de 
búsqueda  implementándolo  en  Nautilus  ahora  con  CTRL  +  F 
aparece el dialogo de búsqueda que además se complementa con 
Beagle  en  lo  que  es  la  búsqueda  para  llevarla  a  un  nivel  de 
exactitud que da mucho gusto.

Por otra parte algunas aplicacione
  • Links de descarga
http://lwp-l.com/pdf5101

Comentarios de: Begins 01 200604 (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