Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: DoHITB en 18 Febrero 2017, 18:05 pm



Título: Compartir memoria en C
Publicado por: DoHITB en 18 Febrero 2017, 18:05 pm
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:

Código:
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!