Мне нужно вызвать функцию из другой программы. Если другая программа была библиотекой, я мог бы просто использовать dlopen и dlsym, чтобы получить дескриптор функции. К сожалению, другая программа является исполняемой программой Unix, а ее создание в виде библиотеки не является вариантом. Попытка dlopen() в исполняемом файле выдает это сообщение об ошибке:
dlopen([...]/testprogram, 1): no suitable image found. Did find:
[...]/testprogram: can't map
Это не удивительно, поскольку dlopen предназначен для использования с библиотеками, а не с исполняемыми файлами. Есть ли способ получить dlopen и dlsym для работы с исполняемыми файлами? Если нет, есть ли альтернативный способ достижения одного и того же?