GNU/Linux >> Znalost Linux >  >> Linux

Propojení 32bitové knihovny s 64bitovým programem

Příklad použití IPC ke spouštění 32bitových zásuvných modulů z 64bitového kódu naleznete v open source NSPluginWrapper.


Je to možné, ale ne bez nějaké vážné magie v zákulisí a odpověď se vám nebude líbit. Buď emulujte 32bitový CPU (ne, nedělám si srandu), nebo přepněte hlavní proces zpět na 32bitový. Emulace však může být pomalá.

Toto je důkaz koncepce této techniky.

Pak si ponechte tabulku každého přístup k paměti a z 32bitové knihovny a udržovat je v synchronizaci. Je velmi těžké dostat se k teoretické úplnosti, ale něco proveditelného by mělo být docela snadné, ale velmi zdlouhavé.

Ve většině případů se domnívám, že dva procesy a pak IPC mezi nimi může být ve skutečnosti nejjednodušší, jak je navrženo jinak.


Ne. Nemůžete přímo odkazovat na 32bitový kód uvnitř 64bitového programu.

Nejlepší možností je zkompilovat 32bitový (samostatný) program, který lze spustit na vaší 64bitové platformě (pomocí ia32), a poté použít formu meziprocesové komunikace pro komunikaci s ním z vašeho 64bitového programu.


Linux
  1. Jak zjistit, zda je daný Linux 32bitový nebo 64bitový?

  2. 64bitová konverze časových razítek Unix

  3. Adresový prostor 32bitového procesu v 64bitovém linuxu

  1. Instalovat 64bitové Ubuntu nebo 32bitové?

  2. Jak určit bitbit hardwaru a OS?

  3. Spusťte 64bitovou aplikaci na 32bitovém systému Ubuntu

  1. Jak přejít na nižší verzi z 64bitové na 32bitovou?

  2. Výkon 32bitová vs. 64bitová aritmetika

  3. Mohu spustit 64bitové ubuntu na svém počítači (>10 let staré)