Передача данных из 32битной библиотеки в 64битную программу
Есть библиотека, написанная на фортране, в которой используется различные "умные" трюки вроде хранения в одном массиве integer, real и character. В результате она корректно работает только на 32битной архитектуре. Хочется написать к ней интерфейс в скриптовые языки, но у моей рабочей машины 64битная архитектура, и при попытке подлючения библиотеки dlopen справедливо возвращает NULL. Как-нибудь это можно обойти? Можно специфично для архитектуры: amd64, GNU/Linux, gcc/gfortran. Исходники библиотеки есть, но много править там не хочется.
Сейчас меня эта библиотека интересует только как интерфейс к бинарным файлам, производимым одной программой из её же комплекта поставки, поэтому я подумываю о возможности обмена данными через пайпы/сокеты или расшаривания области памяти между двумя процессами. Ни то, ни другое я раньше не делал (ну, с пайпами работал, но бинарные данные разных архитектур не передавал). Может, у кого-нибудь есть идеи попроще?
Передача данных из 32битной библиотеки в 64битную программу
Есть библиотека, написанная на фортране, в которой используется различные "умные" трюки вроде хранения в одном массиве integer, real и character. В результате она корректно работает только на 32битной архитектуре. Хочется написать к ней интерфейс в скриптовые языки, но у моей рабочей машины 64битная архитектура, и при попытке подлючения библиотеки dlopen справедливо возвращает NULL. Как-нибудь это можно обойти? Можно специфично для архитектуры: amd64, GNU/Linux, gcc/gfortran. Исходники библиотеки есть, но много править там не хочется.
Сейчас меня эта библиотека интересует только как интерфейс к бинарным файлам, производимым одной программой из её же комплекта поставки, поэтому я подумываю о возможности обмена данными через пайпы/сокеты или расшаривания области памяти между двумя процессами. Ни то, ни другое я раньше не делал (ну, с пайпами работал, но бинарные данные разных архитектур не передавал). Может, у кого-нибудь есть идеи попроще?
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.9) Gecko/2009050519 Iceweasel/3.0.6 (Debian-3.0.6-1)