


Un sistema Libre en donde todos disfruten escribir software



Las Nuevas tarifas son las que tenemos que pagar por las borracheras, orgias de los grandes que dirigen nuestro país. Como el Mediocre de Calderon, camaras de diputados etc,etc.
Que pasa con el pueblo de México
Para empezar cuales son los problemas inmediatos???????????? tener celuar, intenert, coche. o disculpen mi ignoracia me harian el favor de especificarlos.
Por movimientos así se inpidio que se privatizara la UNAM, ademas no crees tu que todo trabajor tiene derecho a una Jubilación, y a un salario digno
para mi los problemas inmediatos es la falta de empleo que hay al no exitir un trabajo para toda la gente en el país y en especial para humanidades.
Y si! acabemos con los sindicatos rateros, pero primero acabemos con un gobierno mas ratero!! acabemos con las mafias. si, pero, que no la mafia mas grande es la que esta formada por el gobierno??? por favor ya es hora de tomar conciencia, de pensar en todos y no solo en uno mismo, de ser solidarios y ayudarnos mutuamente, de pensar "en un como vivir adecuado en el mundo" o no compañeros??? socialista??? quiza, es preferible a ser un capitalista, mediocre y ratero!!!
Si el coraje es por el pago de jubilaciones y por el pago de un salario arriba del minimo, perdon compañeros pero dejenme decir que que mentalidad tan pobre, tipica del mexicanito y los cangrejos por si recuerdan ese dicho!! si no lo recuerdan investiguenlo, que no es mas razonable pedir esos mismos derechos que tiene los del SME para todo el pais, en vez de seguir conformandose con la miseria? ya basta de estupideses, dejen de estudiar para joderse unos a otros, mejor esforcemonos por ser seres pensantes y concientes y no solo querer "disfrutar la vida"
Por favor pensemos antes de escribir!!
Aquí se ve la hermandad del pueblo, lamento decirlo porque soy Méxicano, en lugar de que se una para tener las mismas prestaciones que tiene el sindicato de Luz y Fuerza prefiere que estemos jodidos como casi todo el pais y seamos conformistas, aceptando las migajas que nos da el gobierno.
Si supuestamente el gobierno anúncia que esta en crisis, como se atreve a despedir a 66000 empleados jefes de familia, como quiere abrir fuentes de empleo cuando esta liquidando a compañia de LUZ y FUERZA, por favor, despierten, no se dejen llevar por los medios de comunicación como TV Azteca, TELEVISA, MILENIO que no son mas que un grupo de burgueses mediocres que no piensan, son titeres y estan obligados a decir lo que se les ordena y no puenden expresar su manera de pensar porque no tienen a nadie que los respalde, y automaticamente serian botados como lo hace el gobierno a su pueblo.
ESTO ES INDIGNATE.
La madrugada del domingo 11 de octubre la presidencia de la república emitió el decreto mediante el cual desaparece la empresa paraestatal Luz y Fuerza del Centro, con lo cual se propina un fuerte golpe a la soberanía nacional, ya que se disuelve una de las últimas empresas propiedad de la nación y que son estratégias para el desarrollo del país.
Los argumentos que esgrime Felipe Calderón son una réplica exacta de los que utilizaron los gobiernos de Carlos Salinas y Ernesto Zedillo para privatizar las empresas nacionales, aduciendo a su ineficiencia, altos costos, baja productividad, elevados subsidios y grandes privilegios sindicales. Esta perspectiva obedece a una visión neoliberal de las empresas paraestatales, las cuales pretenden ser conducidas bajo la perspectiva de acumulación capitalista, generando ganancias y perdiendo de vista la responsabilidad social. La compañia de Luz y Fuerza del centro significa la base del desarrollo social y económico del país, por lo que se desempeño no puede ser calificado en función a criterios capitalista de rentabilidad, sino por los aportes que realiza al desarrollo de la sociedad.
El propósito privatizar es un largo sueño acariciado por el sector capitlista y que bajo la presedencia de Calderón se ha movido paso a paso, primero interviniendo abiertamente en la vida interna del Sindicato Mexicano de Electrisistas, negando la toma de nota a la diregencia sindical bajo el argumento de que no fueron limpias las elecciones internas COMO SI LA PRESIDENCIA DE CALDERON GOZARA DE LA LEGITIMIDAD PARA HABLAR SOBRE ELECCIONES LIMPIAS. posteriormente ante la resistencia del sindicato para no permitir la violación de la autonomia, el gobierno federal decreta la liquidación de la empresa. Dejando sin empleo a 66 mil trabajadores, desapareciendo una empresa pilar en el desarrollo nacional.
El gobierno de Calderón dista mucho de ser sensible a las necesidades social, ya que en su decrete de extinción publicado en el Diario Oficial de la federación, la ubica como una de las principales sangrías del presupuesto nacional, exhibiendo que para el presente año las transferencias de recursos serán de 41,945 millones de pesos, pretendiendo demostrar la ineficiencia de la compañia. Sin embargo, al sistema financiero el cual cerca del 90% está en manos del capital extrangero y que es ineficiente por que no financia las actividades productivas y tienen los cobros más altos del mundo por concepto de comiciones, solamentes en este año se le asignarán recursos vía el IPAB por 528 millones 422 mil 928 pesos, de éstos, 378 millones 95 mil 903 pesos serían para servicios personales; 5 millones 476 mil pesos para materiales y suministros; 137 millones 386 mil 65 pesos para servicios generales. Es decir que cada día de operaciones del IPAB costará a los mexicanos poco más de 1 millon de pesos. Sin embargo este tipo de sangrías nunca se cuestionaran.
El ataque a la insdustria electrica nacional esconde un transfondo de los negocios de agentes gubernamentales, como es el caso de la licitación que se otorga a la empresa española IW TELECOMUNICACIONES, cuyos principales socíos en México son el ex gobernador de Nuevo León Fernando canales Clariond y el ex secretario de energía del gobierno Foxista Ernesto Martens, para utilizar la infraestructura de LyF y colgar líneas de fibra óptica para proporcionar servicios de Tv por cable, teléfono e internet, mejor conocido como el TRIPLE PLAY. La imposibilidad para concretar este jugoso negocio la significa el SME, ya que la contratación se tendría que hacer mediante un acuerdo con éste, pues este es el titular del contrato colectivo de la LyF, por tanto, el gobierno de Calderón trazó la estrategia de desconocer al sindicato y posteriormente liquidar la compañia, para llevar a cabo la negociación.
La defensa de la LyF es tarea de todos, ya que es propiedad de todos los méxicanos y estamos obligados a defender nuestro patrimonio nacional.
El ámbito de acción del universitario debe salir de las aulas para ampliarse a la lucha con el resto de la sociedad unida en una sola clase.
ESTUDIANTES Y PROFESORES DE LA FACULTAD DE ECONOMIA UNAM
Recibi este volante en la FACULTAD DE CIENCIAS UNAM
Gracias por su atención.
Etapas de la compilación:
Preprocesado
Compilación
Ensamblado
Enlazado
Si tienes problemas al compilar en Ubuntu 7.04 posiblemente te falte la librería build-essential que tendrás que instalarlo desde el synaptic
Compilación directa:
$ gcc hello.c -o hello
$ ./hello
¡Hola, Mundo!
La primera orden le dice al gcc que compile y enlace el archivo fuente hello.c, generando el ejecutable indicado por el argumento -o hello. La segunda orden ejecuta el programa, obteniéndose como resultado la tercera línea.
Varias cosas han pasado sin darnos cuenta. Lo primero que ha hecho gcc es manda al preprocesador (cpp) el fichero hello.c para expandir macros e incluir el contenido de los archivo #included. Seguido, se compila el código preprocesado en código objeto, para finalmente el linkador (ld) crea el hello binario.
Veamos este proceso paso a paso. Si usamos la opción -E paramos el proceso justo después de realizarse la precompilación:
$ gcc -E hello.c -o hello.i
Podemos observar en el fichero hello.i el resultado del preprocesado, con el fichero stdio.h incrustado dentro de él. Continuando con el proceso, usaremos la opción -c para parar despúes de realizar la compilación.
$ gcc -c hello.i -o hello.o
Ya tan sólo queda enlazar el fichero objeto con las librerías del sistema para generar el ejecutable:
$ gcc hello.o -o hello
Para saber el punto de arranqu gcc se fija en la extensión del archivo de entrada.. Las extensiones más comunes reconocidas por gcc son:
| Extensión | Tipo |
| .c | Código fuente Lenguaje C |
Aunque lo normal es crear un ejecutable a partir del código fuente, a veces resulta conveniente parar el proceso en un punto determinado. Un caso habitual es cuando queremos obtener el código objeto para integrarlo en una librería, por lo que no es necesario la etapa de enlace. Otro caso cuando queremos obtener el código del precompilado para chequear algún conflicto que tengamos entre los archivos includes y nuestro código.
La mayor parte de los programas de C se generan partiendo de varios fuentes, códigos objeto y librerías. gcc tomará los ficheros que le damos de entrada, los procesará convenientemente, y los enlaza para generar un único ejecutable. Para facilitar esta tarea se suele utilizar la utilidad make.
La lista de opciones ocuparía varias páginas, por lo que sólo veremos las opciones más comunes:
| Opción | Descripción |
| -o | Nombre del archivo de salida. Si no se especifica al generar el ejecutable, el nombre por defecto será a.out |
| -c | Compilar sin enlazar |
| -DMAC=VAL | Define el macro MAC y le asigna el valor VAL |
| -IDIR | Sitúa el directorio DIR delante de la lista de directorios dónde buscar los ficheros includes. |
| -LDIR | Sitúa el directorio DIR delante de la lista de directorios dónde buscar las librerías. |
| -static | Enlaza con librerías estáticas. Por defecto enlaza las librerías dinámicamente. |
| -lFICH | Enlaza con la librería libFICH |
| -g | Incluye información estándar para depurado |
| -ggdb | Incluye información específica para el depurador gdb |
| -O | Optimiza el código compilado |
| -ON | Especifica un nivel de optimación del código entre 0 y 3 |
| -ansi | Soporta el C ANSI/ISO estándar |
| -pedantic | Emite todos los avisos requeridos por el C ANSI/ISO |
| -pedantic-errors | Emite todos los errores requeridos por el C ANSI/ISO |
| -traditional | Soporta la sintáxis Kernighan & Ritchie del lenguaje C |
| -w | Suprime todos los mensajes de aviso (una mala idea) |
| -Wall | Emite todos los avisos que el gcc pueda generar. |
| -werror | Convierte todos los avisos en errores, lo que parará la compilación |
| -MM | Crea una lista de dependencias compatible con make |
| -v | Muestra los comandos utilizados en cada etapa de la compilación |
Etiquetas: GCC
Compilador Cruzado
Hace falta una cadena de compilación completa, y aparte una implementació de yacc y lex (normalmente, si se está usando una máquina Linux o el port de win32 de las utilidades GNU, cygwin), estas son bison y flex)
La terminología que se usa en las cadenas de compilación de las utilidades GNU es:
The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, as well as libraries for these languages (libstdx++, libgcj) . Tomado de la pagina web oficial: http://gcc.gnu.org/
GCC es un compilador integrado del proyecto GNU para C, C++, Objective C y Fortran; es capaz de recibir un programa fuente en cualquiera de estos lenguajes y generar un programa ejecutable binario en el lenguaje de la máquina donde ha de correr.
La sigla GCC significa "GNU Compiler Collection". Originalmente significaba "GNU C Compiler"; todavía se usa GCC para designar una compilación en C. G++ refiere a una compilación en C++.
Las opciones van precedidas de un guión, como es habitual en UNIX, pero las opciones en sí pueden tener varias letras; no pueden agruparse varias opciones tras un mismo guión. Algunas opciones requieren después un nombre de archivo o directorio, otras no. Finalmente, pueden darse varios nombres de archivo a incluir en el proceso de compilación.
| .c | fuente en C |
| .C .cc .cpp .c++ .cp .cxx | fuente en C++; se recomienda .cpp |
| .m | fuente en Objective-C |
| .i | C preprocesado |
| .ii | C++ preprocesdo |
| .s | fuente en lenguaje ensamblador |
| .o | código objeto |
| .h | archivo para preprocesador (encabezados), no suele figurar en la linea de comando de gcc |
Usaremos como ejemplo este sencillo programa de prueba, circulo.c:
/* Circulo.c: calcula el área de un círculo.
Ejemplo para mostrar etapas de compilación.
*/
#define PI 3.1416
main()
{
float area, radio;
radio = 10;
area = PI * (radio * radio);
printf("Circulo.\n");
printf("%s%f\n\n", "Area de circulo radio 10: ", area);
}
El preprocesado puede pedirse con cualquiera de los siguientes comandos; cpp alude específicamente al preprocesador.
$ gcc -E circulo.c > circulo.pp
$ cpp circulo.c > circulo.pp
Examinando circulo.pp
$ more circulo.pp
puede verse que la variable PI ha sido sustituída por su valor, 3.1416, tal como había sido fijado en la sentencia #define.
$ gcc -S circulo.c
realiza las dos primeras etapas creando el archivo circulo.s; examinándolo con
$ more circulo.s
puede verse el programa en lenguaje ensamblador.
El ensamblador se denomina as:
$ as -o circulo.o circulo.s
crea el archivo en código objeto circulo.o a partir del archivo en lenguaje ensamblador circulo.s. No es frecuente realizar sólo el ensamblado; lo usual es realizar todas las etapas anteriores hasta obtener el código objeto así:
$ gcc -c circulo.c
donde se crea el archivo circulo.o a partir de circulo.c. Puede verificarse el tipo de archivo usando el comando
$ file circulo.o
circulo.o: ELF 32-bit LSB relocatable, Intel 80386, version 1, not stripped
En los programas extensos, donde se escriben muchos archivos fuente en código C, es muy frecuente usar gcc o g++ con la opción -c para compilar cada archivo fuente por separado, y luego enlazar todos los módulos objeto creados. Estas operaciones se automatizan colocándolas en un archivo llamado makefile, interpretable por el comando make, quien se ocupa de realizar las actualizaciones mínimas necesarias toda vez que se modifica alguna porción de código en cualquiera de los archivos fuente.
El enlazador se denomina ld. El comando para enlazar
$ ld -o circulo circulo.o -lc
ld: warning: cannot find entry symbol _start; defaulting to 08048184
da este error por falta de referencias. Es necesario escribir algo como
$ ld -o circulo /usr/lib/gcc-lib/i386-linux/2.95.2/collect2 -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o circulo /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/gcc-lib/i386-linux/2.95.2/crtbegin.o -L/usr/lib/gcc-lib/i386-linux/2.95.2 circulo.o -lgcc -lc -lgcc /usr/lib/gcc-lib/i386-linux/2.95.2/crtend.o /usr/lib/crtn.o
para obtener un ejecutable.
El uso directo del enlazador ld es muy poco frecuente. En su lugar suele proveerse a gcc los códigos objeto directamente:
$ gcc -o circulo circulo.o
crea el ejecutable circulo, que invocado por su nombre
$ ./circulo
Circulo.
Area de circulo radio 10: 314.160004
da el resultado mostrado.
Es instructivo usar la opción -v de gcc para obtener un informe detallado de todos los pasos de compilación:
$ gcc -v -o circulo circulo.c
Ejemplo de enlazado estático:
$ gcc -static -o circulo circulo.c
$ ls -l circulo
-rwxr-xr-x 1 victor victor 237321 ago 4 11:24 circulo
Si no se especifica -static el enlazado es dinámico por defecto.
Ejemplo de enlazado dinámico:
$ gcc -o circulo circulo.c
$ ls -l circulo
-rwxr-xr-x 1 victor victor 4828 ago 4 11:26 circulo
Notar la diferencia en tamaño del ejecutable compilado estática o dinámicamente. Los valores pueden diferir en algo de los mostrados; dependen de la plataforma y la versión del compilador.
El comando ldd muestra las dependencias de bibliotecas compartidas que tiene un ejecutable:
$ gcc -o circulo circulo.c
$ ldd circulo
libc.so.6 => /lib/libc.so.6 (0x40017000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
$ gcc -static -o circulo circulo.c
$ ldd circulo
statically linked (ELF)
La compilación estática no muestra ninguna dependencia de biblioteca.
En Informática(computación), una biblioteca es un conjunto de procedimientos y funciones (subprogramas) agrupadas en un archivo con el fin de que puedan aprovecharlas otros programas. Al proceso de hacer accesibles estos subprogramas al programa principal se le llama enlace (link).
Existen dos tipos de bibliotecas:
Las primeras se enlazan —o sea, arreglan las referencias a rutinas en el programa para que apunten a su localización en la biblioteca— en el momento de compilacióntiempo de ejecución. (en rigor en la fase de enlace de la construcción del programa objeto), mientras que las segundas se enlazan en
La denominación de biblioteca compartida hace énfasis en que, comúnmente, los procesos que la enlazan comparten una única parte de la memoria donde se encuentran las instrucciones de los subprogramas.
En Windows, archivos de bibliotecas dinámicas poseen extensión. DLL (Dynamic Link Library), mientras que las estáticas generalmente terminan en. LIB. En Unix y Linux, las bibliotecas dinámicas tienen extensión .so (Shared Object) y las estáticas .a (archive).
Habitualmente se emplea el término librería para referirse a una biblioteca, por la similitud con el original inglés library. Ambos términos, biblioteca y librería, son correctos según las definiciones ( [1], [2]) de la RAE, aunque los puristas consideran como correcta biblioteca. Esto se debe a que la traducción correcta de library es biblioteca, mientras que el término inglés para librería es book shoptienda de libros), aunque también podría ser bookshelf (estantería o mueble para guardar libros, librería). También es habitual referirse a ella con el término de origen anglosajón toolkit (conjunto, equipo, maletín, caja, estuche, juego (kit) de herramientas).
En lenguaje C++ hay algunas bibliotecas
stdio.h
Que significa "standard input-output header" (cabecera estandar E/S), es en la librería estándar del lenguaje de programación C el archivo de cabecera que contiene las definiciones de macros, las constantes, las declaraciones de funciones y la definición de tipos usados por varias operaciones estándar de entrada y salida. Por motivos de compatibilidad, el lenguaje de programación C++ (derivado de C) también tiene su propia implementación de estas funciones, que son declaradas con el archivo de cabecera cstdio.
Las funciones declaradas en stdio.h son sumamente populares.
Funciones miembro
Las funciones declaradas en stdio.h pueden clasificarse en dos categorías: funciones de manipulación de ficheros y funciones de manipulación de entradas y salidas.
fclose, fopen, freopen, fdopen, remove, rename, rewind, tmpfile, clearerr, feof, ferror, fflush, fgetpos, getc, fgets, fputc, fputs, ftell, fseek, fsetpos, fread, fwrite, getc, getchar, gets, printf, fprintf, sprintfsnprintf, vprintf, perror, putc, putchar, fputchar, scanf, fscanf, sscanf, vfscanf, vscanf, vsscanf, setbuf, setvbuf, tmpnam, ungetc, puts
Para usar todas las funciones de ésta biblioteca se debe tener la siguiente directiva
#include
Las funciones de la biblioteca pueden ser agrupadas en tres categorías básicas:
· Aritméticas;
· Números aleatorios; y
· Conversión de cadenas.
El uso de todas las funciones es sencillo. Se consideran dentro del capítulo en forma breve
atof, atoi, atol, strtod, strtol, strtoul, rand, srand, malloccallocrealloc, free, abort, abnormally, atexit, callback, exit, getenv, system, bsearch, qsort, abslabs, absolute value, divldiv.
conio.h
Declara varias funciones usadas llamando la consola del sistema operativo las rutinas de I/O.
Funciones disponibles:
cgets, clreol, clrscr, cprintf, cputs, cscanf, delline, getch, getche, getpass, gettext, gettextinfo, gotoxy, highvideo, inport, insline, kbhit, lowvideo, movetext, normvideo, outport, putch, puttext, textattr, textbackground, textcolor, textmode, ungetch, wherex, wherey, window, _setcursortype,
math.h
Funciones disponibles:
acos, asin, atan, atan2, ceil, cos, cosh, exp, fabs, floor, fmod, frexp, ldexp, log, log10, modf, pow, sin, sinh, sqrt, tan, tanh,
C / string.h
Funciones disponibles:
memchr, memcmp, memcpy, memmove, memset, strcat, strchr, strcmp, strcoll, strcpy, strcspn, strerror, strlen, strncat, strncmp, strncpy, strpbrk, strrchr, strspn, strstr, strtok, strxfrm,
PARA COMPILAR Y EJECUTAR DESDE "GCC" SE DEBE HACER LO SIGUIENTE:
1. Ir a la carpeta en donde esta el archivo fuente.
2. DAR Clic con el botón secundario.
3. Actions.
4. Open terminal here.
5. Teclear gcc[nombre del archivo].c
6. Teclear a.out
para utilizar gcc, suministra un nombre de archivo fuente de C y utilice la opcion -o para especificar el nombre del archivo de salida. gcc preprocesará, compilará, ensamblara y vinculará (link) el programa, generando un archivo ejecutable, a menudo denominado binario. La sintaxis más simple se ilustra aquí:
gcc archivo_entrada.c [-o archivo_salida].
El archivo_entrada.c es un archivo de código fuente en C y -o establece que el nombre del archivo de salida será archivo_salida. Los corchetes([ ])indican a los argumentos opcionales. si el nombre del archivo de salida no se espesifica, gcc lo denominara a.out como opcion predeterminada.
EJEMPLO
/*Nombre del programa: hello.c*/
/*hola.c - programa canónico "¡hola,mundo!"
*/
#incluide
int main(void)
{
puts("¡piensa en linux y seras libre!");
retur 0;
}
para compilar y correr este programa, teclee
$ gcc hola.c -o hola
si todo salio bien, gcc realizara su trabajo en silencio y luego regresa a la señal de peticion de comandos del sistema operativo. gcc compila y linkea el archivo fuente hola.c, creando el archivo que fue especificado mediante el argumento -o, osea hola.