2010-04-06 11 views
12

Quiero hacer una aplicación de Windows fácil de implementar y me preguntaba qué sistemas de programación pueden crear archivos Windows .exe totalmente autónomos.¿Qué lenguajes de programación pueden generar ventanas independientes?

Como una ventaja, si lo mismo se puede hacer con MacOSX y Linux desde la misma fuente, esto sería una ventaja. Eché un vistazo a Realbasic pero desde entonces han abandonado el concepto .exe único.

actualización: estoy buscando algo que pueda ejecutarse desde Windows XP hasta Windows 7, sin importar qué versión de .NET esté instalada. ¿Esto es posible?

+0

¿Le importan las dependencias como las bibliotecas de tiempo de ejecución? – snicker

+0

Si quiero ejecutar el exe como una aplicación web y también tengo acceso a una biblioteca de base de datos/sistema de archivos, ¿qué bibliotecas de tiempo de ejecución necesitaré? – Zubair

+0

No es posible realizar un puerto a OSX y Linux si está basado en .NET; mientras que sí, está Mono, las bibliotecas disponibles son lo suficientemente diferentes que todavía te enfrentas a una gran tarea de portabilidad. –

Respuesta

8

Delphi se compila en un archivo ejecutable y genera archivos ejecutables nativos de Windows. Entonces no hay dependencias a ningún tipo de marco. Si usa Free Pascal (fpc) y Lazarus IDE, incluso podría desarrollar para Linux y Apple desde la misma fuente.

Si utiliza dll externos esto sería un poco más complicado, pero podría empaquetarlos en su archivo de recursos y mantener la propiedad de un exe.

+0

No pude encontrar ningún enlace para descargar Delphi. ¿Aún está disponible? – Zubair

+1

Sí, Delphi todavía existe, Borland lo vendió a Embarcadero http://www.embarcadero.com/products/delphi. –

+0

Sí, Delphi existe. En condiciones vergonzosas, con un IDE bastante molesto y muy caro, pero sí, puede desarrollar grandes aplicaciones en Delphi. Me encantaba. Ahora no es más que luchar. El diseñador visual es genial, sin embargo, puedes dibujar los elementos visibles en un santiamén; entonces, buena suerte con la jungla de objetos y la documentación decepcionante. Empecé con Pascal en los años noventa, así que no tengo miedo de ensuciarme las manos; pero en lugar de Delphi, uso ZZEE php-to-exe siempre que puedo. Dice mucho – dkellner

1

Usted puede hacer esto para Windows con los lenguajes .NET utilizando ILMerge

ILMerge es una utilidad para la fusión de varias NET en un ensamblado de .NET sola. Funciona tanto en ejecutables como en archivos DLL y viene con varias opciones para controlar el procesamiento y el formato de la salida. Consulte la documentación adjunta para más detalles.

Sin embargo:

Actualmente, ILMerge sólo funcionan en plataformas basadas en Windows. Todavía no es compatible con Rotor o Mono.

+0

¿Puede ILMerge incluso incluir ensamblajes de núcleo del marco, anulando la necesidad de instalar incluso .NET Framerwork? – snicker

+0

@snicker - No lo sé. La ayuda no dice que no puedes. – ChrisF

+1

@snicker: @ChrisF: Aún necesita el CLR para ejecutar cualquier ensamblado IL, incluso si puede vincularlo en mscorlib.dll. –

2

Recomendaría echarle un vistazo a AutoIt. Es un lenguaje de scripting fácil de usar que se compilará en un exe, por lo que no se necesitan tiempos de ejecución. Esto sería solo para Windows.

http://www.autoitscript.com/autoit3/index.shtml

Desde el sitio web:

AutoIt v3 es un lenguaje similar al BASIC scripting gratuito diseñado para la automatización de la interfaz gráfica de usuario de Windows y general secuencias de comandos. ... AutoIt también es muy pequeño, autónomo y se ejecutará en todas las versiones de Windows sin necesidad de molestos "tiempos de ejecución".

+0

Errr .. no, AutoIt no se compila en C++. –

+0

Gracias por la corrección. Edité mi respuesta. – BigJoe714

+0

Aceptar :) Se ha eliminado el voto negativo. –

6

Ciertamente puede hacer esto con C/C++. Técnicamente, se requieren las bibliotecas de tiempo de ejecución, pero ya deberían estar instaladas en cualquier sistema de Windows, Mac o Linux.

Con .NET puede compilar en un EXE, pero por supuesto se requiere .NET Framework. Para las versiones más nuevas de Windows, debe instalarse de forma predeterminada, pero en versiones anteriores (¿XP o versiones anteriores?) Puede o no estar allí. Y, por supuesto, no se puede esperar que mono esté allí de forma predeterminada en Linux o Mac.

+5

Puede configurar el compilador para vincular el tiempo de ejecución de forma estática. –

+0

@Billy - sí, ese es un buen punto. –

+0

Eliminé esto como la respuesta aceptada, ya que vi problemas por primera vez en los programas .Net que funcionan en .Net antes de 4.0 pero no después de – Zubair

3

Puede usar Tcl/tk. La tecnología que debe investigar es un "paquete de estrellas", que combina un ejecutable de tiempo de ejecución (un Starkit) con un tiempo de ejecución específico de la plataforma (un "tclkit") para crear un ejecutable de archivo único. Es notable por el hecho de que no es solo código compilado, sino un sistema de archivos virtual completo que puede incluir imágenes, sonido, datos, etc.

Esta misma tecnología funciona para muchas plataformas desde la misma base de códigos. Lo único que es diferente es el tiempo de ejecución específico de la plataforma. Incluso puede "compilar cruzado", ya que puede copiar el tiempo de ejecución para múltiples plataformas en su cuadro de desarrollo y luego crear paquetes de estrellas para cada plataforma sin tener que estar realmente en cada plataforma.

3

Tcl puede hacer esto, especialmente a través de la producción de starpacks. Se pueden producir para todas las plataformas desde el mismo código. Tenga en cuenta que esto también incluye todas las bibliotecas de tiempo de ejecución necesarias (a excepción de cosas como la biblioteca C, pero no desea hacer que sea estático en circunstancias normales).

0

QBasic puede :-)

me escribió algunas herramientas de línea de comandos usando!

+0

QBasic no puede. QuickBASIC puede. –

+0

Estoy corregido, pensé que eran lo mismo. – NibblyPig

+1

QuckBASIC genera archivos DOS .exe. Las ventanas modernas las ejecutan mediante * NTVDM * que no está disponible en las versiones de 64 bits. En Linux y OS X también necesitará algún tipo de capa de emulación o virtualización para ejecutar programas de DOS. –

4

Para Windows los siguientes idiomas son viables:

  • C (MS, gcc)
  • C++ (MS, g ++, Marte Digital)
  • D (Marte Digital)
  • Delphi (Embarcadero "¿cómo se deletrea eso? solo se salen de la lengua, ¿no es así?)
  • Fortran (Intel, Software Salford)
  • Visual Basic 6 (MS)
  • Lua (se necesita un special tool para hacerlo, pero es factible)
  • C#, VB.Net, C#, J #, etc (suponiendo que no les importa usar la tecnología .Net)
+0

N.B. Puede usar C#, VB, etc. ... sin tener que instalar .net; Simplemente no puede usar la biblioteca .net, lo que significa que tendrá que escribir todo usted mismo o usar otra biblioteca, p. Ej. Mono: http://www.mono-project.com/Main_Page –

2

C/C++ PureBasic delphi VB6

espero que esta ayuda :)

2

He aquí una buena fuente para un número de lenguajes de programación básico como que construyen pequeños EXE independientes. Algunos son multiplataforma para Windows y Linux:

www.basic.mindteq.com

2

Puede usar libertad básica que es fácil y barato, se puede hacer fácilmente programas independientes para las ventanas pero no es posible transferir a MacOS o Linux.

Cuestiones relacionadas