Ответ 1
Нет. Вы не можете напрямую ссылаться на 32-битный код внутри 64-битной программы.
Лучшим вариантом является сборка 32-разрядной (автономной) программы, которая может
У меня есть 32-разрядная бинарная библиотека .so, и я должен создать 64-битную программу, которая ее использует. Есть ли способ обернуть или преобразовать его, поэтому его можно использовать с 64-битной программой?
Нет. Вы не можете напрямую ссылаться на 32-битный код внутри 64-битной программы.
Лучшим вариантом является сборка 32-разрядной (автономной) программы, которая может
Для примера использования IPC для запуска 32-разрядных плагинов из 64-битного кода посмотрите на открытый NSPluginWrapper.
Возможно, но не без какой-то серьезной магии за кулисами, и вам не понравится ответ. Или эмулируйте 32-битный ЦП (нет, я не шучу), или переключим основной процесс на 32 бит. Эмулирование может быть медленным.
Это доказательство концепции метода.
Затем сохраните таблицу каждого доступа к памяти и из 32-битной библиотеки и сохраните их в синхронизации. Очень сложно получить теоретическую полноту, но что-то работоспособное должно быть довольно простым, но очень утомительным.
В большинстве случаев я считаю, что два процесса, а затем IPC между ними могут быть самыми легкими, как это было предложено иначе.