GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo ejecutar un programa C++ dentro de otro programa C++?

Tendrás que escribir tu propio compilador.

Considere:ningún sistema operativo normal es compatible con lo que desea. Desea que ambos ejecutables se ejecuten dentro de un solo proceso, sin embargo, ese proceso puede o no hacer llamadas al sistema operativo dependiendo de alguna rareza dentro del proceso que el sistema operativo no entiende en absoluto.

Esto ya no es un problema con su compilador personalizado, ya que simplemente no creará las instrucciones ofensivas. Es similar a Java y .Net, que también evitan que dichas llamadas al sistema operativo estén fuera de su control.


Una solución portátil:Google Native Client

Una posible solución de Linux:

  1. Cree un perfil de AppArmor con "sombrero" (un "sombrero" es una configuración de espacio aislado a la que la aplicación puede cambiar mediante programación con libapparmor),
  2. hacer que la aplicación principal cree una "tubería",
  3. tener la aplicación principal "fork",
  4. cambiar a un "sombrero" correspondiente a la aplicación secundaria,
  5. "exec" la aplicación secundaria,
  6. la aplicación principal y la aplicación secundaria se comunican a través de la "tubería" creada anteriormente.

Linux
  1. Cómo compilar y ejecutar un programa C en Ubuntu

  2. ¿Cómo ejecutar un comando dentro de un contenedor Systemd en ejecución?

  3. ¿Cómo ejecutar Chromium dentro de un Chroot?

  4. ¿Cómo enviar una señal para que el programa se ejecute en un contenedor docker?

  5. Cómo ejecutar un trabajo cron dentro de un contenedor docker

Cómo ejecutar programas C/C++ en Linux [Terminal y Eclipse]

Cómo compilar y ejecutar un programa C en Linux

Cómo ejecutar programas Java en Ubuntu

Maneras brillantes de cómo ejecutar un programa en Linux

Cómo escribir y ejecutar un programa C en Linux

¿Cómo vinculo libcurl a mi programa C++ en Linux?