反汇编

ILT Incremental Link Table

这个@ILT其实就是一个静态的表,它记录了一些函数的入口然后跳过去,每个跳转jmp占一个字节,然后就是一个四字节的内存地址,所以加起为五个字节,这样就实现了类的机制。

660=5*132 代表是调用的是第132个函数

这里@ILT+5就是跳转到Test函数的的jmp指令的地址,一个模块中所有的

//函数调用都会是象这样@ILT+5*nn表示这个模块中的第n个函数,而ILT的意思

//是Incremental Link Table,程序调用函数的时候就是通过这个表来跳转到相应函数而执

 

    增量链接(Incremental Linking)这个词语在使用Visual C++时经常会遇到(其实

不只是VS系列,其它链接器也有这个特性), 就比如经常遇到的:上一个增量链接没有

生成它, 正在执行完全链接.  但是它是什么意思呢? 很多人只是经常看到, 但是不

明白这是什么. 首先说明一下, 这个特性是链接器为了<提高链接速度>而增加的功

能. 说是这样, 可能不理解, 下面就说说其原理:

 

    有一个源代码文件, 你写了许多许多行, 你正在调试它, 你突然发现某个地方

有一个小BUG, 你打算改正, 好了, 错误改正了, 但是链接器该采用何种方式链接新代码?

 

    其一: 可以把obj删除, 然后重新生成.

    其二: 为每个函数预留一部分空间, 编译链接时, 只是修改你修改过的函数

对应的代码, 其它二进制代码保持不变.

 

    可能你已经明白了, 为目标(函数)代码"预留一部分空间", 这就是"增量"的含

义. 当代码修改后, 只需要修改这一部分的目标代码即可快速完成编译与链接!

这就为调试代码时快速修改编译提高了速度! 这也是为什么调试器

支持 "Edit and Continue" 特性!

 

    这不浪费程序空间么? 你可能会想, 不过确实如此. 正因为如此, Debug版本的

目标文件会远远大于Release版本的目标文件(不单因为此). 在Release编译时, 是

不能启用增量链接模式的!

 

转载于:https://www.cnblogs.com/sky-view/p/3329264.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/473971.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安装Python第三方库的常用方法和注意事项

安装Python的库 这里&#xff0c;我来介绍一下平时我们安装python库的几种常用方法和一些注意事项。 第一种&#xff0c;使用我们的pip工具 第二种&#xff0c;使用IDE中集成的功能进行一键安装(以Pycharm 为例) 第三种&#xff0c;使用Anaconda进行安装 使用 pip 工具安装第三…

LeetCode 968. 监控二叉树(DFS)

文章目录1. 题目2. 解题1. 题目 给定一个二叉树&#xff0c;我们在树的节点上安装摄像头。 节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。 计算监控树的所有节点所需的最小摄像头数量。 示例 1&#xff1a; 输入&#xff1a;[0,0,null,0,0] 输出&#xff…

Jquery基础知识

jquery是一个功能强大的第三方库,目前被广泛使用, 微软更是将其作为官方库; 内部封装适配多浏览器,运行速率高于原生 1、写得少&#xff0c;做得多 2、运行速度快 jqurey通过选择器获取标签 $(#myId) //选择id为myId的网页元素 $(.myClass) // 选择class为myClass的元素 $(li)…

【笔试or面试】金山西山居2014校招笔试题

1.32位环境下 #include <stdio.h> #include <iostream> #include <cstring> using namespace std;int main() {char t1[] "ab\0cd";char t2[6] "abcd\0";int t3[4] {0, 0, \0};printf("%d\n",sizeof(t1));printf("%d\…

HTML+CSS+JS面试题(附带答案)

一、单项选择(165题) 1.HTML是什么意思&#xff1f; A)高级文本语言 B)超文本标记语言 C)扩展标记语言 D)图形化标记语言 2.浏览器针对于HTML文档起到了什么作用&#xff1f; A)浏览器用于创建HTML文档 B)浏览器用于查看HTML文档 C)浏览器用于修改HTML文档 D)浏览器用于删除HTM…

LeetCode 576. 出界的路径数(动态规划)

文章目录1. 题目2. 解题1. 题目 给定一个 m n 的网格和一个球。 球的起始坐标为 (i,j) &#xff0c;你可以将球移到相邻的单元格内&#xff0c;或者往上、下、左、右四个方向上移动使球穿过网格边界。 但是&#xff0c;你最多可以移动 N 次。 找出可以将球移出边界的路径数量…

视频参数(流媒体系统,封装格式,视频编码,音频编码,播放器)对比

发现了几个视频参数对比的资源&#xff0c;是Wikipedia上的&#xff0c;总结的非常好&#xff1a; 流媒体系统对比&#xff1a; http://en.wikipedia.org/wiki/Comparison_of_streaming_media_systems 封装格式对比&#xff1a; http://en.wikipedia.org/wiki/Comparison_of_co…

HTML试题及答案(总结)

HTML练习题1&#xff08;选择题&#xff09; 一、选择 1.在一个框架的属性面板中&#xff0c;不能设置下面哪一项。&#xff08; &#xff09; A&#xff0e;源文件 ; B&#xff0e;边框颜色 ; C&#xff0e;边框宽度 D&#xff0e;滚动条 2. 下列哪一…

04.卷积神经网络 W3.目标检测

文章目录1. 目标定位2. 特征点检测3. 目标检测4. 滑动窗口的卷积实现5. Bounding Box预测&#xff08;YOLO&#xff09;6. 交并比7. 非极大值抑制8. Anchor Boxes9. YOLO 算法10. 候选区域作业参考&#xff1a; 吴恩达视频课 深度学习笔记 1. 目标定位 定位分类问题&#xff…

P2P中的NAT穿越方案简介

文章链接&#xff1a; http://www.shipin.it/Index/videolist/id/68.html 转载于:https://www.cnblogs.com/lolita/p/3334029.html

Python面试必须要看的15个问题

问题1 到底什么是Python&#xff1f;你可以在回答中与其他技术进行对比&#xff08;也鼓励这样做&#xff09;。 答案 下面是一些关键点&#xff1a; Python是一种解释型语言。这就是说&#xff0c;与C语言和C的衍生语言不同&#xff0c;Python代码在运行之前不需要编译。其他…

LeetCode 988. 从叶结点开始的最小字符串(DFS)

文章目录1. 题目2. 解题1. 题目 给定一颗根结点为 root 的二叉树&#xff0c;树中的每一个结点都有一个从 0 到 25 的值&#xff0c;分别代表字母 a 到 z&#xff1a;值 0 代表 a&#xff0c;值 1 代表 b&#xff0c;依此类推。 找出按字典序最小的字符串&#xff0c;该字符串…

Humble Numbers USCAO chapter 3.1

...目测我自己写坑定超时,就去NOCOW看了下,题解,官方是每个质数与已有的humble想乘取大于最大humble的最小数即是新的最大humble, 然后我就写了个个,开始嫌麻烦用set存,超时的飞起。然后全部改成数组,结果case 6还是超时,想了半天感觉和别人的题解也没啥差别,为什么运行时间差这…

LeetCode 636. 函数的独占时间(栈)

文章目录1. 题目2. 解题1. 题目 给出一个非抢占单线程CPU的 n 个函数运行日志&#xff0c;找到函数的独占时间。 每个函数都有一个唯一的 Id&#xff0c;从 0 到 n-1&#xff0c;函数可能会递归调用或者被其他函数调用。 日志是具有以下格式的字符串&#xff1a;function_id…

网关详解

计算机主机网关的作用是什么&#xff1f; 假设你的名字叫小不点&#xff0c;你住在一个大院子里&#xff0c;你的邻居有很多小伙伴&#xff0c;在门口传达室还有个看大门的李大爷&#xff0c;李大爷就是你的网关。当你想跟院子里的某个小伙伴玩&#xff0c;只要你在院子里大喊一…

Javascript复习题

Javascript复习题 一、选择题 1、写“Hello World”的正确javascript语法是&#xff1f; (A) A.document.write("Hello World") B. "Hello World" C.response.write("Hello World") D…

04.卷积神经网络 W3.目标检测(作业:自动驾驶 - 汽车检测)

文章目录1. 问题背景2. YOLO 模型2.1 模型细节2.2 分类阈值过滤2.3 非极大值抑制2.4 完成过滤3. 在照片上测试已预训练的YOLO模型3.1 定义类别、anchors、图片尺寸3.2 加载已预训练的模型3.3 模型输出转化为可用的边界框变量3.4 过滤边界框3.5 在图片上运行测试题&#xff1a;参…

Jquery特殊效果

1.jquery特殊效果 fadeIn() 淡入 $btn.click(function(){ $(#div1).fadeIn(1000,swing,function(){ alert(done!); }); }); fadeOut() 淡出 fadeToggle()切换淡入淡出 hide()隐藏元素 show() 显示元素 toggle() 切换元素的可见状态 slideDown() 向下展…

DB2表的重组

DB2在存储大数据的时候&#xff0c;遇到一个问题&#xff0c;将数据导入表中保存不了&#xff0c;最后是重组后才解决。 下面是从IBM官网上搜集的资料&#xff1a; 官网地址&#xff1a;http://publib.boulder.ibm.com/infocenter/db2e/v9r1/index.jsp?topic%2Fcom.ibm.db2e.d…

开发语言

开发语言 高级语言&#xff1a;Python、Java、PHP、C#、Go、Ruby、C…   代码编译得到 字节码 &#xff0c;虚拟机执行字节码并转换成机器码再后在处理器上执行低级语言&#xff1a;C、汇编   代码编译得到 字节码 &#xff0c;虚拟机执行字节码并转换成机器码再后在处理器…