Programación General > Visual C++

 Generar Programa Con Pocas Depencias

(1/4) > >>

robokop:
Ola :hola:
Quisiera saber como es posible generar un programa sin las depencias de msvcrt en vc++ , y tambien como hacer que pese menos de 3kb.
Se que es posible en vc++ porque eternal idol en un tema de otro foro hizo una aplicacion que mostraba un msgbox y solamente depencia del kernel y pesaba 1 kb  :blink:
Debe ser algo de la configuracion pero no eh podido lograr evitar las dependencias y el tamaño.
a lo maximo que eh llegado ah sido compilando con release y quitando el manifest me lo deja en 5.00 kb pero si muevo la aplicacion de directorio me da error porque no encuentra la libreria msvrc80 .
En las propiedades del proyecto en el nodo de C++ cambie en run time librery el /MDB por /MT y me genera un ejecutable que solo depende del kernel32 pero pesa 56 kb .
Alguien sabe la configuracion exacta y en que propiedades debo cambiar para lograr lo que quiero.
Ya eh buscado en msdn y en otras webs pero nada  :wacko:  :wacko:
gracias

x.cyclop:
Yo busco lo mismo. :P

Le cambio el character-set a Multibyte, lo compilo como Release, le quito lo de "Inherit dependences", lo optimizo para menor tamaño (/O1) y aún así ocupa como 160Kb.

¿Hay forma de que solamente se genere el archivo del proyecto (vcproj), el de código/recursos (c, c++, rc) y el ejecutable/librería (exe, dll)? :huh:

Eternal Idol:
Para lo primero ya obtuviste la respuesta, tenes que enlazar estaticamente la Run Time. Para lo segundo directamente tenes que obviar toda Run Time del compilador y construir la tuya con solo las funciones que necesites para el programa. Esta Run Time puede incluso estar metida dentro del mismo ejecutable o al estilo de VC++ en una libreria .LIB o .DLL.

Ese ejecutable que hice y todos los que hacemos para modo Usuario no estan enlazados ni dependen directamente del Kernel sino que lo hacen de diferentes DLLs de modo Usuario como pueden ser User32.dll para la funcion MessageBoxA/W.

Casualmente en este foro hay una serie de articulos escritos por mi, inconclusa hoy y probablemente por siempre, donde se explica una manera de hacer esto:

Crear nuestra propia Run Time Library (Primera Parte)

Crear nuestra propia Run Time Library (Segunda Parte)

Crear nuestra propia Run Time Library (Tercera Parte)

robokop:
ok muchas gracias vere esos articulos.  :lol:  :lol:
estas hecho toda un arma en programacion  :lightsabre:

Eternal Idol:

--- Cita de: "robokop" --- ok muchas gracias vere esos articulos.  :lol:  :lol:
estas hecho toda un arma en programacion  :lightsabre:
--- Fin de la cita ---
De nadas; hoy vi los articulos y ya tienen mas de dos años :o Como pasa el tiempo ...

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa