Ein Beispiel für die Verwendung von IPC zum Ausführen von 32-Bit-Plugins aus 64-Bit-Code finden Sie im Open-Source-NSPluginWrapper.
Es ist möglich, aber nicht ohne ernsthafte Magie hinter den Kulissen, und die Antwort wird Ihnen nicht gefallen. Emulieren Sie entweder eine 32-Bit-CPU (nein, ich mache keine Witze) oder schalten Sie den Hauptprozess zurück auf 32-Bit. Das Emulieren kann jedoch langsam sein.
Dies ist ein Machbarkeitsnachweis der Technik.
Dann führen Sie eine Tabelle von jedem Speicherzugriff auf und von der 32-Bit-Bibliothek und halten sie synchron. Es ist sehr schwer, zu einer theoretischen Vollständigkeit zu gelangen, aber etwas, das funktioniert, sollte ziemlich einfach, aber sehr mühsam sein.
In den meisten Fällen glaube ich, dass zwei Prozesse und dann IPC zwischen den beiden tatsächlich am einfachsten sein können, wie andernfalls vorgeschlagen.
Nein. Sie können innerhalb eines 64-Bit-Programms nicht direkt auf 32-Bit-Code verlinken.
Die beste Option besteht darin, ein 32-Bit-Programm (eigenständig) zu kompilieren, das auf Ihrer 64-Bit-Plattform ausgeführt werden kann (unter Verwendung von ia32), und dann eine Form der Kommunikation zwischen Prozessen zu verwenden, um von Ihrem 64-Bit-Programm aus mit ihm zu kommunizieren.