porque al compilar pesa tanto un programa?

Iniciado por bomba1990, 28 Noviembre 2010, 20:05 PM

0 Miembros y 1 Visitante están viendo este tema.

bomba1990

hola a todos, hace poco me puse a estudiar c++ y pues comense con dev-c++ gracias a unos post que lei me cambie a codeblock, hice un programa sencillo que no pasa de 100 lineas pero a la hora ce compilar veo que pesa 978 kb y si modifico para que salga el release que dice codeblocks pesa 478kb pero eso me parece una exageracion cuando antes no pasarian de 50kb.

me imagino que algo estoy haciendo mal, pero que?

bueno como informacion adicional a ver si me pueden ayudar les digo que lo estoy compiladon con mingw el que trae incorporado codeblocks.
"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve

APOKLIPTICO

Estas usando mucho stack?
Es decir, estas declarando arrays muy grandes estáticamente?
AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore
ASUS M4A89GTD-PRO/USB3
2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T)
Seagate 500 Gb
XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.

bomba1990

bueno eso podria ser, pero creo que en un programa como este

Código (cpp) [Seleccionar]
#include <iostream>

using namespace std;

int main()
{
    cout << "Hello world!" << endl;
    return 0;
}


no es mucha la memoria que se necesita. y pesa casi lo mismo.
"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve

piou

A mi no me gusta mucho lo de cout, cin y endl, pero compilando esto:

#include <stdio.h>
using namespace std;

int main()
{
    printf("Hello World\n");
    return 0;
}


Con el g++ en linux, si le hago un ls me da:

-rwxr-xr-x 1 fer fer 7264 2010-11-28 21:56 a.out
Solo 7 KBytes. Mira a ver cambiando las funciones si te pesa menos.

Beakman

Un código tan chico te tiene que ocupar menos de 10kb.
Yo no uso ningún IDE, compilo directamente por consola.
Los IDEs te agregan extras para depurarlo.
Intenta compilarlo en limpio directo por consola.

APOKLIPTICO

No es demasiado problema que el ejecutable sea grande, aparte, siempre podés utilizar UPX para comprimirlo.
AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore
ASUS M4A89GTD-PRO/USB3
2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T)
Seagate 500 Gb
XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.

bomba1990

#6
bueno puse ese script porque es el que viene de ejemplo en el codeblocks.  y de verdad lo pongo no porque 978 kb pese mucho(ya no se usan los dikettes) sino porque me parece execisivo comparado cuando compilaba en dev-c++ que no pasaba de 20kb

que compilador ustedes me recomeindan?
"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve

pucheto

No tiene nada que ver el IDE que uses para compilar, si tiene que ver el compilador y las opciones que se le pasan a este. Por ejemplo, si lo vas a compilar con informacion de debugging, que tipo de optimizacion usas para compilarlo, si habilitas o no el manejo de excepciones, si alineas o no el codigo, etc..

APOKLIPTICO

Que version de GCC tenés que opciones le pasas? Estas linkeando algun objeto de más?
AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore
ASUS M4A89GTD-PRO/USB3
2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T)
Seagate 500 Gb
XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.

bomba1990

yo lo instale y empese a usarlo como vino. no le e echo muchas modificaciones.

y no seeeeeeeeeeeeeeee, esta vaina me enredo, porque en los comandos no aparece nada. hay solo dos en el de debug que aparece -q.
y en release que no tiene el -q ese y ponen -o2 optimize even more(for speed)  y -s (strip al symbol for binaries).

"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve