开发者社区> 问答> 正文

linux环境, C语言中, 同一套库的代码编译成静态库和动态库使用, 性能上有差吗?

linux环境, C语言中, 同一套库的代码编译成静态库和动态库使用, 性能上有差吗?

展开
收起
a123456678 2016-06-06 18:43:24 2046 0
1 条回答
写回答
取消 提交回答
  • 1.启动时,一般动态链接拥有更好的性能。
    因为,动态链接库可以不在启动时载入,或者已经被别的程序载入了,不需要再一次载入到内存。

    2.运行时,一般静态链接会拥有更好的性能。
    因为,动态链接库可能在运行时需要载入到内存,同时,对于编译成地址无关的动态链接库文件,
    执行时会多一步地址计算,性能会稍差一些。

    3.另外,如果内存不足时,因为静态链接的文件可能比动态连接不常用,更容易被swapout,那运行时性能,
    动态链接也可能优于静态链接。

    2019-07-17 19:29:17
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载