#cpp #linux
Есть две программы на одном компьютере. Возможно ли сделать так:
Программа 1 достает указатели 2 своих функций и отправляет по UNIX сокету другой
программе.
Программа 2 получает эти указатели и с помощью сокета она передает 1 указатель на
свою функцию.
Сокет уничтожается и программы проводят "пинг тест", обмениваясь "Hello program!"
друг с другом.
Profit!
Возможно ли такое провернуть? Главный вопрос: как исполнить функцию по указателю
и как передать ей параметры?
Ответы
Ответ 1
Можно попробовать использовать разделяемую память, по сути она для этого и служит, связать две программы одной памятью. На Хабре даже статейка естьОтвет 2
Так сделать нельзя, так как каждое приложение имеет своё адресное пространство. Но можно организовать общую память, в которую первая программа записывает ДАННЫЕ, а вторая программа читает их и как-то обрабатывает СВОИМИ функциями, и то же самое в обратную сторону. То есть надо смотреть в сторону изменения логики программы.
Комментариев нет:
Отправить комментарий