C/Visual C - VisualC++ vs GCC

 
Vista:

VisualC++ vs GCC

Publicado por Nasón (40 intervenciones) el 25/02/2004 00:04:13
¿Álguien puede explicarme por qué el sencillo programa:

#include <stdio.h>
int main()
{
printf ("Hola programadores\n");
return 0;
}

compilado y enlazado con el compilador GCC de GNU genera un ejecutable de alrededor de 25Kb y con VisualC++ se nos va a 152Kb (6 veces más grande)?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:VisualC++ vs GCC

Publicado por J. Oliver Beltran (166 intervenciones) el 25/02/2004 09:55:39
Que conste que no es por defender a Microsoft, ni que tenga nada en contra de Linux, es más bien para que lo sepas. ¿Has mirado las opciones de compilación del Visual C++?
Si te metes en Project->Settings y pinchas en la ventana C/C++(supongo version 6 de VC++) podras seleccionar el tipo de optimizacion a realizar, por defecto es velocidad máxima. Selecciona tamaño minimo, y veras que obtienes una aplicación de tamaño parecido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:VisualC++ vs GCC

Publicado por Nasón (40 intervenciones) el 25/02/2004 10:20:17
Gracias por tu respuesta, aunque ahora ha aparecido un nuevo problema. Efectivamente tengo VC++6. Pasa lo siguiente:
Entro en Project->Settings y luego en la pestaña C/C++, hay una lista desplegable en la que pone Optimizations y el la que está por defecto Disable(Debug), escojo la opción Minimize Size y doy a OK.
Cuando ejecuto la orden de compilar aparece el siguiente error:

Command line error D2016 : '/ZI' and '/O1' command-line options are incompatible

Estoy perdido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:VisualC++ vs GCC

Publicado por JoseGR (41 intervenciones) el 25/02/2004 10:57:01
Hola, la diferencia en el tamaño de los ejecutable viene porque por defecto VC compila en modo depuracion (debug) con solo cambiar a modo release (menu Build -> Set Active Configuration -> Win32Release)
y recompilar optienes un ejecutable de 28 K.

Otra cosas es que en modo depuracion no deberias activar las optimizaciones, dejalas solo para el modo de Release.

A lo menos que hagas calculos complejos o ciclos muy complicados, la diferencia en velocidad de ejecucion entre el modo debug y release, no se aprecia. Asi que no deberias preocuparte por estos modos. Lo que si cambia en la velocidad de compilacion, en debug es mucho mas rapido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:VisualC++ vs GCC

Publicado por biT (17 intervenciones) el 25/02/2004 18:17:45
eso es por dos motivos creo.
1) esta en modo debug
2) estas usando las librerias que enlaza VC++ por defecto (default)

si no usas el modo debug, y si no usaras las librerias esas o si usaras una librerias mas simple, tu ejecutable seria muy pequeño.
he visto que vc++, genera un messagebox de 1KB, uniendo las secciones y cambiando el filealignment.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar