Retroceder   Foros del Web > Temas generales de computación > Programación > C/C++

Respuesta
 
Herramientas Desplegado
Antiguo 09-jul-2007, 12:32   #1 (permalink)
-thor- ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2006
Mensajes: 229
Por que al compilar los programas tienen diferente peso?

Este pequeño programa
Código PHP:
#include<iostream>
using namespace std;
int main()
{
int a;
int &r=a;
a=10;

cout<<r<<endl;
cin.get();
return 
0;

pesa 570 kb al compilarlo con dev c++,en cambio al compilarlo con turbo c++ 4.5 pesa 93,3 kb.

A que se deben esas diferencias?
-thor- está desconectado   Responder Citando
Antiguo 09-jul-2007, 13:55   #2 (permalink)
_Lucifer_ tiene algunos puntos positivos de karma
 
Avatar de _Lucifer_
 
Fecha de Ingreso: junio-2006
Mensajes: 1.588
Re: Por que al compilar los programas tienen diferente peso?

Entre otras cosas el DevC++ te crea una aplicación Win32, de hecho lo hace el compilador (MingWin), por el contrario el Turbo C++ te crea una aplicación DOS de 16 bits, además toma en cuenta las optimizaciones que cada uno tenga activadas, los símbolos del debuger, etc.

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
_Lucifer_ está desconectado   Responder Citando
Antiguo 09-jul-2007, 14:34   #3 (permalink)
-thor- ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2006
Mensajes: 229
Re: Por que al compilar los programas tienen diferente peso?

Cita:
Iniciado por _Lucifer_ Ver Mensaje
Entre otras cosas el DevC++ te crea una aplicación Win32, de hecho lo hace el compilador (MingWin), por el contrario el Turbo C++ te crea una aplicación DOS de 16 bits, además toma en cuenta las optimizaciones que cada uno tenga activadas, los símbolos del debuger, etc.

Saludos
Si una aplicacion obtiene un gran peso al momento de compilarse significa que sera mas lenta o no?,hay alguna forma de disminuir el peso?.
gracias por tu respuesta anterior
-thor- está desconectado   Responder Citando
Antiguo 09-jul-2007, 14:37   #4 (permalink)
ArrauKano está en el buen camino
 
Avatar de ArrauKano
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 649
Re: Por que al compilar los programas tienen diferente peso?

De partida, cada compilador es un mundo independiente. Planchan los nombres a su gusto, añaden u optimizan por defecto.

Y al decir optimizar puedo referirme al peso, o a la velocidad de ejecución, ya que si lo optimizo para que pese poco, generalmente necesitará más memoria, por el contrario si se compila con alto peso, quizás requiera menos recursos.

A veces se compila de una u otra forma dependiendo del caso, si es para una máquina especifica a veces conviene optimizar recursos, por el contrario cuando compilamos un paquete que queremos redistribuir, nos va a importar que pese poco.
ArrauKano esta en línea ahora   Responder Citando
Antiguo 10-jul-2007, 07:04   #5 (permalink)
Eternal Idol tiene algunos puntos positivos de karma
 
Avatar de Eternal Idol
 
Fecha de Ingreso: mayo-2004
Ubicación: Europa (VdL)
Mensajes: 5.172
Re: Por que al compilar los programas tienen diferente peso?

Cita:
Iniciado por -thor- Ver Mensaje
Si una aplicacion obtiene un gran peso al momento de compilarse significa que sera mas lenta o no?,hay alguna forma de disminuir el peso?.
gracias por tu respuesta anterior
No; eso dependera que "lleva" ese ejecutable. Si la mayoria del codigo es la RTL (Run Time Library) de C/C++ y esta no se ejecuta entonces no tiene ninguna razon para ser mas lento. En sintesis: depende.

Y no te olvides de las opciones de depuracion, optimizacion y mas opciones de compilador/enlazador.
Eternal Idol está desconectado   Responder Citando
Antiguo 11-jul-2007, 16:58   #6 (permalink)
Instru está en el buen camino
 
Avatar de Instru
 
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.442
Re: Por que al compilar los programas tienen diferente peso?

Cita:
Iniciado por Eternal Idol Ver Mensaje
No; eso dependera que "lleva" ese ejecutable. Si la mayoria del codigo es la RTL (Run Time Library) de C/C++ y esta no se ejecuta entonces no tiene ninguna razon para ser mas lento. En sintesis: depende.

Y no te olvides de las opciones de depuracion, optimizacion y mas opciones de compilador/enlazador.
Bueno, si el peso es REALMENTE prioridad, lo mas conveniente seria reescribir las pocas funciones que usas de la RTL en assembly o incluso con el mismo C, asi no tienes que incluir toda la libreria, solo usar tus propias funciones.
Claro, si haces un amplio uso de las librerias estandar seria mas factible me la incluyeras.

Saludos
__________________
Usa las putas faqs:
http://www.forosdelweb.com/showthread.php?t=264647
Instru está desconectado   Responder Citando
Antiguo 11-jul-2007, 17:05   #7 (permalink)
Eternal Idol tiene algunos puntos positivos de karma
 
Avatar de Eternal Idol
 
Fecha de Ingreso: mayo-2004
Ubicación: Europa (VdL)
Mensajes: 5.172
Re: Por que al compilar los programas tienen diferente peso?

Cita:
Iniciado por Instru Ver Mensaje
Bueno, si el peso es REALMENTE prioridad, lo mas conveniente seria reescribir las pocas funciones que usas de la RTL en assembly o incluso con el mismo C, asi no tienes que incluir toda la libreria, solo usar tus propias funciones.
Claro, si haces un amplio uso de las librerias estandar seria mas factible me la incluyeras.
La pregunta a la que respondi era otra ... de cualquier manera esa es una alternativa valida (hace mucho tiempo cree un tutorial sobre como escribir una RTL propia) asi como usar enlazado dinamico con la RTL que provee el compilador.
Eternal Idol está desconectado   Responder Citando
Antiguo 11-jul-2007, 20:14   #8 (permalink)
Instru está en el buen camino
 
Avatar de Instru
 
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.442
Re: Por que al compilar los programas tienen diferente peso?

Cita:
Iniciado por Eternal Idol Ver Mensaje
La pregunta a la que respondi era otra ... de cualquier manera esa es una alternativa valida (hace mucho tiempo cree un tutorial sobre como escribir una RTL propia) asi como usar enlazado dinamico con la RTL que provee el compilador.
Que interesante. Y dodne puedo encontrar dicho tutorial?
Saludos
__________________
Usa las putas faqs:
http://www.forosdelweb.com/showthread.php?t=264647
Instru está desconectado   Responder Citando
Antiguo 11-jul-2007, 20:59   #9 (permalink)
Eternal Idol tiene algunos puntos positivos de karma
 
Avatar de Eternal Idol
 
Fecha de Ingreso: mayo-2004
Ubicación: Europa (VdL)
Mensajes: 5.172
Re: Por que al compilar los programas tienen diferente peso?

Cita:
Iniciado por Instru Ver Mensaje
Que interesante. Y dodne puedo encontrar dicho tutorial?
Saludos
Esta en la seccion de articulos de la pagina que figura en mi informacion de contacto.
Eternal Idol está desconectado   Responder Citando
Antiguo 12-jul-2007, 06:30   #10 (permalink)
_Lucifer_ tiene algunos puntos positivos de karma
 
Avatar de _Lucifer_
 
Fecha de Ingreso: junio-2006
Mensajes: 1.588
Re: Por que al compilar los programas tienen diferente peso?

Cita:
Iniciado por Eternal Idol Ver Mensaje
Esta en la seccion de articulos de la pagina que figura en mi informacion de contacto.
Interesante, les estuve echando un ojo...

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
_Lucifer_ está desconectado   Responder Citando
Antiguo 12-jul-2007, 10:49   #11 (permalink)
-thor- ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2006
Mensajes: 229
Re: Por que al compilar los programas tienen diferente peso?

Muchas gracias por sus respuestas,me han servido mucho y leyendo las faq del foro encontre como se puede disminuir el peso de los programas con dev c++
-thor- está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 19:38.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93