(Consulta/GAS) Obtener puntero stdout para hacer flush solo a él

Iniciado por class_OpenGL, 23 Octubre 2017, 23:58 PM

0 Miembros y 1 Visitante están viendo este tema.

class_OpenGL

Hola, muy buenas. Quería saber si hay manera de obtener el stdout de C (FILE *) en ensamblador. Lo necesito para hacer flush a este, sin tener que hacerlo con los demás manejadores. Muchas gracias!

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL

Eternal Idol

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

class_OpenGL


Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL

Eternal Idol

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

class_OpenGL

Estoy usando linux, aunque busco una solución estándar C. Quizás una función que retorne el puntero stdout.

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL

Eternal Idol

#5
stdout es 1 asi que estaras haciendo algo mal.

http://man7.org/linux/man-pages/man3/stdin.3.html

CitarOn program startup, the integer file descriptors associated with the streams stdin, stdout, and stderr are 0, 1, and 2, respectively.

Solo tenes que pasar el parametro stream con un valor de 1 (eso depende de la plataforma, 32 o 64 bits por ejemplo) y llamar a fflush. De ultima pasale 0 y listo.

CitarIf the stream argument is NULL, fflush() flushes all open output streams.

http://man7.org/linux/man-pages/man3/fflush.3.html
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón