浅谈C++联编机制

静态联编

  静态联编是指联编工作出现在编译连接阶段,这种联编又称早期联编,它解决了程序中的操作调用与执行该操作代码间的关系。

动态联编

  编译程序在编译阶段并不能确切知道将要调用的函数,只有在程序执行时才能确定将要调用的函数,为此要确切知道该调用的函数,要求联编工作要在程序运行时进行,这种在程序运行时进行联编工作被称为动态联编。


为什么会有两种联编?

动态联编的功能明显比静态联编强大,但是从效率的执行来看,静态联编在编译连接阶段就完成决策,而动态联编为了使程序能够在运行阶段惊醒决策,必须采取一些方法来跟踪基类指针或引用指向对象类型,这增加了额外的处理开销。基于C++知道原则:不要为不适用的特性付出代价,所以程序默认使用静态联编。


动态联编常用于C++多态的处理,于虚函数机制息息相关。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值