Asuntos Oficiales > La taberna del BIT

 Reto: Hacer Un Compilador

<< < (2/4) > >>

Eternal Idol:

--- Cita de: "cluster" --- - algien me podia explicar como hago para generar un .exe que se pueda ejecutar en windows algo sencillo como a = 1 + 2 y que me imprima en pantalla de DOS a=3 solamente eso y que sea preferiblemente en vb
--- Fin de la cita ---
Para usar la consola desde VB vas a tener que usar la API de Windows:

AllocConsole
GetStdHandle STD_OUTPUT_HANDLE para escribir STD_INPUT_HANDLE para leer

Esos handles los podes usar con ReadFile y WriteFile.

cluster:
pero al utilizar eso estoy utilizando el compilador de vb al generar el resultado?
mejpr dicho mi pregunta es generar un .exe y guardarlo pero por codigo sin ayuda de empaquetados ni nada de eso y despues darle click y que se ejecute.

Eternal Idol:

--- Cita de: "cluster" --- pero al utilizar eso estoy utilizando el compilador de vb al generar el resultado?
mejpr dicho mi pregunta es generar un .exe y guardarlo pero por codigo sin ayuda de empaquetados ni nada de eso y despues darle click y que se ejecute.
--- Fin de la cita ---
Entonces lo que necesitas es conocer el formato PE (Portable Executable) ademas de assembly que es lo que vas a escribir (en numeral) como codigo del ejecutable.

su -:
Creo que hacer un traductor no es lo mas indicado, el compilador deveria ser en bytecode o p-code ya que seria una interfase "mas limpia", pero bueno no importa, el reto es hacer un compilador (sin limites, es deci para lo que sea contal de que sirva)
Un momento, PE es el Object file de Microsoft, creo que estoy mal informado.
Como es el formato de un EXE, es decir, como esta estructurado?
 :blink:

cluster:
entonces como nos organizamos para
--- Citar ---hacer un copilador (para cualquier lenguaje) y cualquier plataforma
--- Fin de la cita ---
creo que tendriamos que mirar el codigo fuente de mono y como funciona la maquina virtual de java. en que lenguaje lo montamos, haber si lo mostramos en algun congreso.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa