我知道数据可以被多个应用程序使用共享内存保存和使用。我想知道是否有可能将函数指针保存在共享内存中?我的目的是拨打电话从我的共享对象返回到具有相同返回值和不同应用程序参数的函数。将函数指针保存在共享内存中
1
A
回答
2
0
除非您完全确定自己在做什么,否则在共享内存段中保存函数指针听起来是一个糟糕的主意,您最终可能会访问您的进程没有权限的函数指针,并且可能会最终导致你的程序崩溃。
-1
没有,不能共享的函数指针,如果你愿意,u需要使该函数库,并用它在你的进程
0
它不能保证共享库将被装载到同一个地址两种不同的应用。事件更糟糕的是,由于地址空间布局随机化,图书馆可能被加载到任何随机地址。因此,函数指针不是不变的,因此不能存储在任何地方。
作为解决方案,您可以在两个进程中创建一个包含所有可能的回调的函数表,并在共享内存中存储偏移量。当然,那些表应该是,确切地说一样。
相关问题
- 1. 指针和共享内存
- 2. 通过共享内存共享指针
- 3. 共享内存中的指针
- 4. 共享内存段内的指针
- 5. 共享内存指针运算
- 6. 通过共享内存进程之间共享指针IPC
- 7. 使用共享指针与在另一个函数中分配的内存
- 8. 将结构数组保存到共享内存中
- 9. 本地指针指向CUDA中的共享内存
- 10. 在内存中缓存数据共享
- 11. 共享内存 - 警告:指针和整数之间的比较
- 12. Ç共享存储器指针映射
- 13. CUDA中的函数指针__constant__内存
- 14. 在共享内存
- 15. 如何区分指向共享和全局内存的指针?
- 16. 捕获共享指针中的内存泄漏?
- 17. 提升共享内存对象中的指针
- 18. 指针在共享内存 - C语言的Linux
- 19. 内存共享
- 20. 在Delphi中保存一个指向指定函数的指针
- 21. 是否有可能将函数指针保存在std :: vector中?
- 22. 如果共享内存的指针为空,则使共享内存的内容为空C++
- 23. 保存函数指针的容器
- 24. 检查共享内存是否存在,以及是否存在共享内存
- 25. 内存分配函数内指针指针
- 26. 在内存中共享大数据表?
- 27. C++智能指针:共享指针与共享数据
- 28. 动态分配共享内存的数组和CUDA中的数据指针
- 29. activerecord内存共享缓存
- 30. 将共享库共享到共享内存
[指针内部共享内存段]可能重复(https://stackoverflow.com/questions/10776762/pointers-inside-shared-memory-segment) – Aravind
可能重复[是否有可能跨过程使用函数指针?](https://stackoverflow.com/questions/1561620/is-it-possible-to-use-function-pointers-across-processes) – Marc
@Aravind关于数据,而不是函数指针。 –