Memoria de los programas

Voldermo
29 de Diciembre del 2005
Hola,
No sé mucho del tema pero me interesaría saber lo siguiente.

Supongamos que hay tres formas de hacer un programa, por decir, ver si un número es primo.
Tendríamos: forma1 forma2 forma3.
Ahora, supongo que el código que ocupe menos memoria al momento de compilar y ejecutar es el programa más optimo, ¿cierto?

Bueno, mi pregunta es. ¿Cómo puedo saber cuánta memoria necesitará o hace uso los programas que yo realice?

Gracias.

hiei
29 de Diciembre del 2005
Bien, vamos por partes...

"...supongo que el código que ocupe menos memoria al momento de compilar y ejecutar es el programa más optimo, ¿cierto?"

No es del todo asi... es segun lo que busques, puedes hacer un codigo con tres instrucciones tipo "maquina de turing" que tarde 100 años en calculas una multiplicacion y ese no sera el mejor codigo... es dependiendo de dondequieras llegas... pero por concepto no andas tan errado...

"Bueno, mi pregunta es. ¿Cómo puedo saber cuánta memoria necesitará o hace uso los programas que yo realice?"

¿Que compilador usas? En el Turbo/Borland C++ en los proyectos te dice cuanto ocupa de datos y de programa el codigo de cada modulo compilado... pero si tienes otro... ¿Tienes un desensamblador?... porque asi podas ver cuantas instrucciones usa y cuantos bytes ocupa cada instruccion... pero necesitas un poco de conocimientobasico de ensamblador... en ultima instancia el tamaño en bytes (con dir del DOS te lo dice) del archivo .obj o .o intermedio entre el codigo fuente y el codigo ejecutable es una aproximacion muy precisa... si lo que quieres ver es comparativamente...