Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Visual Express 2005

Iniciado por Pogacha, 01 de Marzo de 2008, 08:02:36 PM

« anterior - próximo »

Pogacha

Como me puedo asegurar de que estoy generando codigo nativo?
He importado un proyecto de VC6 y no estoy seguro de que eso este pasando.

Alguien me puede dar un tip sobre el asunto?

Gracias!

Vicente

Si es el Visual 2005 Express C++ y estás compilando código C++ no te queda más remedio que salga código nativo :)

El C++ manejado se llama C++/CLI y es parecido pero no es igual (así que no creo que te compilara) y además me parece que no hay un Visual Studio Express para C++/CLI.

Un saludo!

Vicente

Pogacha

OK!
Me quedo un poco mas tranquilo.

Alguien sabe que dependencias tendrá el programa? ... en cuanto a los runtimes y esas cosas.
El programa usa Win32, la standart C library y la standart C++ library (sin usar los iostreams, no se si hay que o si se puede desabilitarlos), use el psdk (creo) pues me pone Microsoft platform SDK for windows server 2003 R2, no se si este es el mas adecuado para tener la mayor backward compatibility.

Necesito que ande en windows Me, 2k, XP y Vista. En realidad las cosas que este programa usaba estaban dentro de las lineas de win 95 asi que no se si un cambio de compilación podria afectarlo ...

Cualquier aporte sera agradecido :)

[EX3]

Que yo tenga entendido para ejecutar los binarios compilados en VC++ 2005 y sin utilizar la extension "CLI" de .NET solo necesitarias instalar el siguiente distribuible:

Microsoft Visual C++ 2005 Redistributable Package (x86)

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

Pogacha

Eso me temia, me has dado una punta para investigar pues todavia no puedo creer que sea necesario todo eso si en realidad lo unico que estoy utilzando que deberia estar en libs es la standard C library y la parte de Win32 ...
Me tendria que fijar si esto no se puede evitar de alguna manera y sino que tan complicado pueda resultar instalar estos packages.

Loover

Buenas,

En 2005 no sé, pero en el 2008, para evitar que la gente tenga que instalar el redistributable, basta con compilar en "Multi-threaded (/MT)" en vez de en Multi-threaded DLL (/MD), así el ejecutable ocupa algo más, pero no obligas a a la gente a tener que instalar el redistributable.

Un saludo.

PD: Vaya melopea llevo.
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

AK47

Bajate el 2008, que aparte de traer un compilador multihilo y más "standard compliant", no te exige hace cabriolas para generar código nativo.

Pogacha

Lo del /MT lo habia leido pero no se como puedo asegurarme de que eso sea así.

Lo del 2008 no se si vale la pena, al 2005 ya lo tengo andando, la unica ventaja seria el compilador multihilo pero tampoco es la gran cosa.

Acabo de reducir tiempos de compilación de 10 minutos a menos de 1 con lo cual ya estoy chocho de la vida!

senior wapo

Para saber realmente que dependencias tienes sin tener que especular, bájate un programa que te muestre las cabeceras del formato PE (Portable Executable) que usan los .EXE bajo windows. La sección de IMPORTS te muestra los nombres de las funciones y DLLs que necesita tu ejecutable para arrancar.

LordPE, por ejemplo. Hay muchisimos.

Si estás vago: http://www.dependencywalker.com/

Pogacha

OK,
Mas que nada mi pregunta es, las dependencias que tendra el programa compilado con el Visual Studio Express 2005 seran las mismas que las que tenia cuando estaba compilado con el VC6.0?

Loover

CitarLo del /MT lo habia leido pero no se como puedo asegurarme de que eso sea así.

En Propiedas del proyecto>C/C++/CodeGeneration>Runtime Library> Aquí lo cambias.

Ojo, hazlo solo en Release, en Debug no compilará, por lo menos a mi.

Con eso, como ya he dicho, te aseguras que el ejecutable funcione en otro equipo que no tenga instalado el redistributable del vc2008, y sino recuerdo mal, el vc2005 funciona igual.

Por ejemplo, las pruebas de LooverLib que compilé en vc2008, antes de compilarlas como te he dicho pedían dll al ser ejecutadas en otros ordenadores. AL principio creía que tendría que obligar a la gente a instalar el redistributable, pero no es así, basta como he dicho con compilar con esa opción.

Por cierto, ¿para que usar el vc2005 si el vc2008 es mejor y más estable?

Puedes leer más sobre este tema aquí: http://forums.indiegamer.com/showthread.php?t=12620

Un saludo.
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

Pogacha

CitarPor cierto, ¿para que usar el vc2005 si el vc2008 es mejor y más estable?
... por mera ignorancia?

Edit: En el link que me pasas aseguran que si va a andar.
Estoy todavia bajando el 2008 ... asi que no se que pueda pasar.
Saludos y gracias!






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.