共享对象开销
我们有一个非常模块化的应用程序,有很多共享对象(.so).有些人认为,在内存/闪存有限的低端平台上,最好将所有内容静态链接到一个大的可执行文件中,因为共享对象有开销. 你对这个有什么看法 ? 最好的祝福, 保罗 最佳答案
除非内存非常紧张,否则这些文件的一个副本的大小不是主要决定因素.鉴于这是一个嵌入式系统,您可能很清楚哪些应用程序将使用您的库以及何时使用.如果您的应用程序打开并关闭它所引用的多个库,并且您永远不会同时打开所有库,那么共享库将大大节省RAM.
您需要考虑的另一个因素是性能损失.打开共享库需要很少的时间(通常是微不足道的);如果您的处理器速度非常慢或实时性要求很高,则静态库不会导致共享库的负载损失.查找是否重要的??配置文件. 总而言之,在某些特殊情况下,共享库可能明显优于静态库.在大多数情况下,它们几乎没有伤害.在简单的情况下,您无法从共享库中获益. 当然,如果您有多个使用相同库的应用程序(或您的应用程序版本),共享库将大大节省Flash.如果使用静态库,则会将一个副本(与共享库[1]大小相同)编译到每个副本中.当您在PC工作站上时,这非常有用.但你知道的.您正在使用仅由一个应用程序使用的库. [1]各个库文件的内存差异很小.共享库添加索引和符号表,以便 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Linux说我的空间已满,使用2.4 / 50gb
- dump / output / list所有用户的Linux密码到期信
- linux – 可以访问锁定的gnu屏幕会话终端吗?
- linux – 使用iptables,匹配通过IPSEC隧道到达的
- LINUX入门:lsof 命令用法:查看已删除空间却没有
- debian/ubuntu 编译安装 openssl 1.1.1
- linux – DDOS攻击下的服务器 – 如何查找IP?
- linux – 如何让tcpdump不打印tcp头文件?
- linux – 尝试使用FreeRADIUS和OpenLDAP对Dell P
- linux – Heartbeat / DRBD故障转移未按预期工作