我确实有一个* .so库,它使用dlopen从系统库中获取一些信息。库可以被多个应用程序同时使用。 也许这是一个愚蠢的问题,但我应该在图书馆做dlopen之前涌入图书馆吗?我没有在任何地方找到直接的答案。我应该在dlopen之前锁定吗?
0
A
回答
1
与评论中所述内容类似,除非您访问可能会改变您的共享资源,否则不需要信号灯(群)。 (IE。访问共享内存并需要确保数据的并发性)。该方式动态加载... dlopen的()...作品
的连接因作品,搬迁和修改GOT/PLT方式中的内存空间完成(进程调用dlopen)而不是共享对象映射的地方。
具有共享对象以只读你永远不必担心他们在你突然改变的sooo不需要羊群:)内存为!
注意:因为你有一个共享对象链接到其他共享对象......初始共享对象的GOT需要更新/ mod,并且使用dlopen()加载库的重定位...但是存储在进程唯一内存空间的ar/w段中,而不是共享对象的ar/w段中。
相关问题
- 1. 我应该在C#中读取文件之前锁定文件吗?
- 2. 我应该锁定'事件'吗?
- 3. android复制保护向前锁定 - 我应该不打扰吗?
- 4. 我可以在Rails中锁定表吗? (我应该吗?)
- 5. 使用dlopen时,我应该链接到我打开的库吗?
- 6. 我应该使用唤醒锁吗?
- 7. 我应该在使用reloadData之前清除表视图吗?
- 8. 在学习JavaFx之前,我应该学习Swing吗?
- 9. 我应该在每次查询之前ping mysql服务器吗?
- 10. php/mysqli:我应该在free_result返回之前吗?
- 11. 在插入到MongoDB之前,我应该解析JSON数据吗?
- 12. 在使用之前,我应该检查boost :: shared_ptr或std :: shared_ptr吗?
- 13. 我应该在编译之前编写测试吗?
- 14. 在学习Ajax之前,我应该学习Xml和Javascript吗?
- 15. 在更改主题之前,我应该升级Magento吗?
- 16. 我应该在散列之前对数据进行编码吗?
- 17. 我应该在string.Replace()之前使用string.Contains()吗?
- 18. 我们应该在WPF之前学习Window Form吗?
- 19. 在为它分配新值之前,我应该释放NSString吗?
- 20. 我应该在更新之前提交查询事务吗?
- 21. 在创建通知之前,我应该叫醒WakeLock吗?
- 22. 我应该在返回对象之前发送retain或autorelease吗?
- 23. 我应该在json.dumps(...)之后编码吗?
- 24. 我应该regexp.test之前,我string.replace?
- 25. Git(LFS):什么是锁定支持?我应该启用它吗?
- 26. 我应该使用MySQL的自定义'锁'表吗?
- 27. 关闭主机之前,我应该关闭lxc容器吗?
- 28. 在应用程序退出之前,socketpair端应该关闭吗?
- 29. 在Windows锁定之前执行任务
- 30. 我应该在MainActivity中定义SharedPreferences吗?
号的每个程序都使用自己的内存堆栈时,它加载库。锁定仅适用于*共享资源*,如果多个程序使用相同的共享库,则这是不存在的。 –
如果没有人修改文件,则不需要对文件进行植绒。 –
我更担心在文件系统上同时访问文件(库)。 – incogn1to