GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menjalankan program C++ di dalam program C++ lain?

Anda harus menulis kompiler Anda sendiri.

Pertimbangkan:Tidak ada OS normal yang mendukung apa yang Anda inginkan. Anda ingin kedua executable berjalan di dalam satu proses, namun proses itu mungkin atau mungkin tidak melakukan panggilan OS tergantung pada beberapa keanehan di dalam proses yang sama sekali tidak dipahami oleh OS.

Ini bukan lagi masalah dengan kompiler khusus Anda, karena ia tidak akan membuat instruksi yang mengganggu. Ini mirip dengan Java dan .Net, yang juga mencegah panggilan OS semacam itu di luar kendali mereka.


Solusi portabel:Google Native Client

Salah satu kemungkinan solusi Linux:

  1. Membuat profil AppArmor dengan "topi" ("topi" adalah konfigurasi kotak pasir tempat aplikasi dapat beralih secara terprogram dengan libapparmor),
  2. minta aplikasi utama membuat "pipa",
  3. memiliki aplikasi utama "garpu",
  4. ubah menjadi "topi" yang sesuai dengan aplikasi anak,
  5. "exec" aplikasi anak,
  6. aplikasi utama dan aplikasi anak berkomunikasi melalui "pipa" yang dibuat sebelumnya.

Linux
  1. Bagaimana Cara Menjalankan Program Tertentu Sebagai Root Tanpa Prompt Kata Sandi?

  2. Bagaimana Cara Menjalankan Chromium Di Dalam Chroot?

  3. Bagaimana Cara Menjalankan Program Di Dalam Wadah Docker?

  1. Cara Menulis dan Menjalankan Program Qt pertama Anda di Debian 10

  2. Cara menjalankan file sh dari file sh lain

  3. Bagaimana cara mengirim sinyal ke program yang dijalankan dalam wadah buruh pelabuhan?

  1. Cara Mengkompilasi dan Menjalankan Program C di Ubuntu

  2. Cara menjalankan tugas cron di dalam wadah buruh pelabuhan

  3. Bagaimana cara menjalankan program saat boot up?