[C con Clase] requerimientos de los programas compilados

Programante programante en gmail.com
Sab Oct 3 20:07:20 CEST 2009


bien1 escribió:
> hola
> los programas compilados con diferentes compiladores: visual c++ 2008, borland c++ 5.5, Mingw, etc, necesitan de requisitos de softaware (dll) para poder ejecutarse en el equipo de destino sin tener instalado dicho compilador y configurado la variable de entorno.
> porque?
> un programa compilado en vc 2008, se ejecuta en windows 7 sin instalar nada de nada, en cambio en un sistema con xp sp2, pelado y mondado, no!
Eso es porque en Windows 7 esos requisitos ya vienen instalados con el
sistema opertativo (o quizá los instalaste con algún otro programa).

>  si es un megasencillo programa de consola con un mensaje de hola mundo, sin usar librerias externas ni nada, no era la libreria "stdio.h" una libreria estandar? no entiendo nada.
>   
Las librerías estándar son usadas por muchos programas y requieren mucho
código. Por eso, casi siempre se implementan como librerías de enlace
dinámico para que puedan aprovecharlas varios programas a la vez (y
reducir al mismo tiempo el tamaño de los ejecutables). Visual C++ 6 y
mingw usan la librería de C de msvcrt.dll, que viene con windows desde
algo así como Windows 95. Según Microsoft sacaba nuevas versiones de la
librería de C, fueron apareciendo otras como msvcrt40.dll, con las que
enlazaban los programas compilados con los nuevos compiladores.

> luego, los programas compilados con broland 5.5, necesita el componente cc3250mt.dll, 
Borland hace algo similar. Tienes explicado cómo evitarlo en
http://cboard.cprogramming.com/windows-programming/8721-borland-cc3250mt-dll.html

> y los compilados con Mingw necesitan del componente libgcc_s_dw2-1.dll.
>   
La librería libgcc_s_dw2-1.dll la usa para poder lanzar excepciones
desde un módulo y recogerla en otro. Puedes usar el flag de enlazado
-static-libgcc para que incluya el código en el ejecutable no te haga
falta la dll (también puedes copiar esa dll en la misma carpeta que el
programa). Si desactivas las excepciones seguramente no hace falta.

> yo que no queria usar la plataforma de desarollo framework por la lentitud de ejecucion y los requerimientos de componentes software ajenos, y para hacer un programa windows nativo, hay que instalar 300 cosas.
> alguien que me lo explique, por favor?
> gracias.






Más información sobre la lista de distribución Cconclase