Мне нужно вызвать функцию из другой программы. Если бы другая программа была библиотекой, я мог бы просто использовать dlopen и dlsym, чтобы получить дескриптор функции. К сожалению, другая программа - исполняемый файл Unix, и создание ее как библиотеки не вариант. Попытка dlopen () для исполняемого файла дает следующее сообщение об ошибке:
dlopen ([...] / testprogram, 1): не найдено подходящего изображения. Нашел:
[...] / testprogram: невозможно отобразить
Это неудивительно, поскольку dlopen предназначен для использования с библиотеками, а не с исполняемыми файлами. Есть ли способ заставить dlopen и dlsym работать с исполняемыми файлами? Если нет, есть ли альтернативный способ добиться того же?