GNU/Linux >> Linux Esercitazione >  >> Linux

Come eseguire un programma C++ all'interno di un altro programma C++?

Dovrai scrivere il tuo compilatore.

Considera:nessun sistema operativo normale supporta ciò che desideri. Vuoi che entrambi gli eseguibili vengano eseguiti all'interno di un singolo processo, tuttavia quel processo potrebbe o meno effettuare chiamate al sistema operativo a seconda di alcune stranezze all'interno del processo che il sistema operativo non comprende affatto.

Questo non è più un problema con il tuo compilatore personalizzato, poiché semplicemente non creerà le istruzioni offensive. È simile a Java e .Net, che impediscono anche tali chiamate del sistema operativo al di fuori del loro controllo.


Una soluzione portatile:Google Native Client

Una possibile soluzione Linux:

  1. Crea il profilo AppArmor con "cappelli" (un "cappello" è una configurazione sandbox a cui l'applicazione può passare in modo programmatico con libapparmor),
  2. fare in modo che l'applicazione principale crei una "pipe",
  3. hanno l'applicazione principale "fork",
  4. cambia in un "cappello" corrispondente all'applicazione figlio,
  5. "exec" l'applicazione figlio,
  6. l'applicazione principale e l'applicazione figlia comunicano tramite la "pipe" creata in precedenza.

Linux
  1. Come compilare ed eseguire il programma C in Ubuntu

  2. Come eseguire un programma specifico come root senza una richiesta di password?

  3. Come scrivere ed eseguire il tuo primo programma Qt in Debian 10

  4. Come inviare un segnale al programma eseguito in un contenitore docker?

  5. Come eseguire un cron job all'interno di un contenitore docker

Come eseguire programmi C/C++ in Linux [Terminale ed Eclipse]

Come compilare ed eseguire il programma C in Linux

Come eseguire programmi Java in Ubuntu

Modi brillanti su come eseguire un programma in Linux

Come scrivere ed eseguire un programma C in Linux

Come collego libcurl al mio programma c++ in Linux?