Compartir memoria en C

Iniciado por DoHITB, 18 Febrero 2017, 18:05 PM

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

DoHITB

Buenas tardes:

Tengo un problema en programación C, y puesto que estoy algo oxidado en el tema no se solucionar. Os pongo en situación.

Tengo un programa "Programa1" escrito en C, del cual tengo el fuente "Programa1.c". Bien en este programa yo hago lo siguiente:


system("/ruta/a/un/ejecutable/externo/Interprete /ruta/a/archivo/a/Interpretar.txt");


Es decir, uso "system()" para llamar a un programa "Interprete" del cual no tengo el fuente, y por tanto no puedo modificar. Este "Interprete" recibe un parámetro de entrada "Interpretar.txt" que es un fichero que este programa  manipula de cierto modo.

El tema es que "Interprete" suelta una info que quiero almacenar para luego mostrar desde "Programa1" pero no soy capaz.

Actualmente lo que estoy haciendo es volcar la salida del programa "Interprete" hacia un fichero, y luego con Programa1 leo, almaceno, cierro el fichero y vuelco la información.

El tema es que me gustaría mejorar este sistema de alguna manera, teniendo en cuenta que en cierto modo puedo alterar el comportamiento del fichero a tratar (hacer que se guarde en fichero, que se muestre por consola, etc). Creo que lo más efectivo sería hallar la manera de compartir memoria, ya que es más rápida que el disco y los accesos son más rápidos también (no habría que abrir punteros ni nada).

¿Se os ocurre alguna idea?

Saludos!