栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在gcc / g ++中添加-rdynamic链接器选项会影响性能吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在gcc / g ++中添加-rdynamic链接器选项会影响性能吗?

是的,尽管它非常具体,通常不会引起关注,但确实存在。

-rdynamic选项指示链接器将符号添加到运行时通常不需要的符号表中。这意味着动态链接程序需要在运行时清除更多(可能)更多的符号以实现符号解析。

具体来说,由于基于GNU的系统中的符号表查找是使用哈希实现的,因此拥有更多符号会增加哈希冲突的机会。由于所有在哈希表中碰撞的符号都位于列表中,因此运行时链接程序需要遍历列表并使用memcmp比较每个符号名称。在哈希中有更多符号冲突意味着更长的列表,因此解析每个动态符号将花费更多时间。

对于C ++而言,这种情况要比C稍差一些,由于类名的缘故,有许多相同前缀的符号名。

实际上,这仅在第一次使用符号时起作用,因此,除非您的应用程序很大并且包含很多符号,否则不会感觉到。

在您的应用程序如此大的罕见情况下,可以使用诸如预链接之类的技巧来克服开销。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/401172.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号