是否可以通过套接字发送指向函数的指针?

HAL*_*000 -1 c++ sockets linux function-pointers

我有两个相同程序的进程,可能在两台不同的机器上运行.我希望进程P2通过套接字从进程P1接收函数指针.
有可能吗?这是一个好习惯吗?

编辑:更有趣的是发送函数的代码,但我对此持怀疑态度.可能吗?

pax*_*blo 6

可以将函数指针从一个进程发送到另一个进程,就像您可以将指针发送到其他对象一样.

问题是指针实际上可能不指向目标进程中存在的函数.特别是如果操作系统用ASLR之类的东西保护自己.

您也可以发送代码,只要您有一些方法可以确定它的结束位置,并且它是与位置无关的代码,并且您的环境允许您将任意数据写入内存然后调用它.

但是,说实话,有更好的方法来实现您想要的东西,例如使用RPC(远程过程调用),以更便携的方式.