zoukankan      html  css  js  c++  java
  • 关于VC++的增量链接(Incremental Linking)

        增量链接(Incremental Linking)这个词语在使用Visual C++时经常会遇到(其实
    不只是VS系列,其它链接器也有这个特性), 就比如经常遇到的:上一个增量链接没有
    生成它, 正在执行完全链接.  但是它是什么意思呢? 很多人只是经常看到, 但是不
    明白这是什么. 首先说明一下, 这个特性是链接器为了<提高链接速度>而增加的功
    能. 说是这样, 可能不理解, 下面就说说其原理:

        有一个源代码文件, 你写了许多许多行, 你正在调试它, 你突然发现某个地方
    有一个小BUG, 你打算改正, 好了, 错误改正了, 但是链接器该采用何种方式链接新代码?

        其一: 可以把obj删除, 然后重新生成.
        其二: 为每个函数预留一部分空间, 编译链接时, 只是修改你修改过的函数
    对应的代码, 其它二进制代码保持不变.

        可能你已经明白了, 为目标(函数)代码"预留一部分空间", 这就是"增量"的含
    义. 当代码修改后, 只需要修改这一部分的目标代码即可快速完成编译与链接!
    这就为调试代码时快速修改编译提高了速度! 这也是为什么调试器
    支持 "Edit and Continue" 特性!

        这不浪费程序空间么? 你可能会想, 不过确实如此. 正因为如此, Debug版本的
    目标文件会远远大于Release版本的目标文件(不单因为此). 在Release编译时, 是
    不能启用增量链接模式的!

        好了, 先就介绍这些, 其实我也只是知道部分原理, 本文的讲解并不深入!


      女孩不哭 @ 2013-06-26 22:22:12 @ http://www.cnblogs.com/nbsofer

  • 相关阅读:
    luogu 1865 数论 线性素数筛法
    洛谷 2921 记忆化搜索 tarjan 基环外向树
    洛谷 1052 dp 状态压缩
    洛谷 1156 dp
    洛谷 1063 dp 区间dp
    洛谷 2409 dp 月赛题目
    洛谷1199 简单博弈 贪心
    洛谷1417 烹调方案 dp 贪心
    洛谷1387 二维dp 不是特别简略的题解 智商题
    2016 10 28考试 dp 乱搞 树状数组
  • 原文地址:https://www.cnblogs.com/memset/p/3157619.html
Copyright © 2011-2022 走看看