Преамбула
Потенциально это может быть проблема xy, поэтому я открыт для предложений, которые отклонитесь от первоначального вопроса, если есть лучший способ подойти к этому.
Проблема
У меня есть довольно большая программа, которая генерирует множество метрик, статистики и т. д. Один важный расчет, который мне нужен, — это возможность генерировать выходные данные сложной математической операции. Единственный инструмент, который может генерировать этот вывод, — это стороннее приложение, предоставленное поставщиком. Производитель с удовольствием скомпилирует приложение для моей компании под любую ОС/историю/архитектуру, но не может предоставить нам исходники. В результате наша программа должна полагаться на предварительно скомпилированную программу, поставляемую как часть того же проекта, и на программу поставщика, запускаемую через popen()
.
Из-за сбоев при установке и других проблем бывают случаи, когда вызов popen()
не работает из-за проблем с путями, перемещения файла и т. д. Это не то, что мы можем контролировать, но, тем не менее, клиент винит в этом разработчиков.
Вопрос
Есть ли способ, используя простой c плюс make на странице linux программа, чтобы каким-то образом внедрить внешнее приложение в наше собственное приложение, чтобы его можно было popen()
редактировать в приватном отображении памяти, чтобы программа всегда была доступна нашему основному приложению?
В идеале мы просто добавили бы исходный код этой программы в нашу собственную кодовую базу, и проблема была бы решена, но это нам недоступно.
popen
его? - person Jokester   schedule 24.03.2017