Страницы

Поиск по вопросам

понедельник, 24 февраля 2020 г.

Возможно ли обратится к указателю функции из другой программы? C++

#cpp #linux


Есть две программы на одном компьютере. Возможно ли сделать так:


Программа 1 достает указатели 2 своих функций и отправляет по UNIX сокету другой
программе.
Программа 2 получает эти указатели и с помощью сокета она передает 1 указатель на
свою функцию.
Сокет уничтожается и программы проводят "пинг тест", обмениваясь "Hello program!"
друг с другом.
Profit!


Возможно ли такое провернуть? Главный вопрос: как исполнить функцию по указателю
и как передать ей параметры?
    


Ответы

Ответ 1



Можно попробовать использовать разделяемую память, по сути она для этого и служит, связать две программы одной памятью. На Хабре даже статейка есть

Ответ 2



Так сделать нельзя, так как каждое приложение имеет своё адресное пространство. Но можно организовать общую память, в которую первая программа записывает ДАННЫЕ, а вторая программа читает их и как-то обрабатывает СВОИМИ функциями, и то же самое в обратную сторону. То есть надо смотреть в сторону изменения логики программы.

Комментариев нет:

Отправить комментарий