我有同一个程序的两个进程,可能运行在两台不同的机器上。
我希望进程 P2 通过套接字从进程 P1 接收函数指针。
有可能吗?这是一个好的做法吗?
编辑:更有趣的是也发送函数的代码,但我对此表示怀疑。这可能吗?
最佳答案
您可以从一个进程向另一个进程发送函数指针,就像向其他对象发送指针一样。
问题是指针可能实际上并不指向函数,因为它存在于目标进程中。特别是如果操作系统使用 ASLR 之类的东西来保护自己。 .
您还可以发送代码,前提是您有某种方法可以确定它的结束位置,并且它是与位置无关的代码,并且您的环境允许您将任意数据写入内存然后调用它。
但是,说实话,有更好的方法来实现您似乎想要的目标,例如以更可移植的方式使用 RPC(远程过程调用)。
关于c++ - 是否可以通过套接字发送指向函数的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27739698/