Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: Sergio en 20 de Octubre de 2003, 09:33:37 PM

Título: Obtener Stdout
Publicado por: Sergio en 20 de Octubre de 2003, 09:33:37 PM
 Hola
Estoy haciendo un IDE para Blitz3D y quiero obtener el stdout del compilador (para los errores y eso). Tengo el codigo en VB para hacerlo (lo estoy haciendo en MFC) pero no soy capaz de reescribirlo en C y tampoco entiendo muy bien que leches hace xD. Alguien podria decirme de algun tutorial para hacer esto y asi enterarme del tema?? O una breve explicacion tampoco estaria mal ;)

Gracias de antemano.
Un saludo!!
Título: Obtener Stdout
Publicado por: Zaelsius en 20 de Octubre de 2003, 09:51:41 PM
  :huh:  A ver si me aclaro..

- ¿A qué compilador te refieres? ¿Al de Blitz? Supongo que tendrá una interfaz en modo de comandos entonces.

Si el código en VB no es muy largo siempre lo puedes "postear" aquí y entre todos lo traducimos a C, aunque me extraña que no puedas al menos entender lo que hace(sintaxis bastante claro creo):huh:

Tutoriales... pues está cruda la cosa. Para lo que quieres hacer habría que lanzar un proceso(tal vez con un hilo bastase, no se)  fuera del IDE y sincronizarlo con tu aplicación para devolver los datos.

Se me ocurre que para capturar la salida estándar del compilador lanzarias el proceso + o - así:

"myprocess.exe | compilador_de_blitz.exe -opciones -etc"

Eso redirigiría la stdout del compilador a la stdin(entrada estándar) a tu proceso. Una vez leída la salida le mandas al IDE la información(esto ya depende de si utilizaste un hilo, un proceso aparte.. o incluso puedes usar mensajes de windows).
Título: Obtener Stdout
Publicado por: Sergio en 22 de Octubre de 2003, 04:01:22 PM
 Lo primero, muchas gracias ZaelSiuS :)
Bueno, he conseguido el codigo de un IDE (tambien en VB) y he transformado la funcion que me hacia falta y funciona (aparentemente) perfectamente.
A lo que me referia de entenderlo no me referia mediante el codigo, sino que queria saber la teoria sobre como funcionan los programas en este aspecto.

Un saludo y gracias de nuevo!!