在第七章链接中,链接可以在编译时由经他编译器完成,也可以在加载时和运行时由动态链接器来完成。链接器处理可以为目标文件的二进制文件,它有三种不同的形式:可重定位和可执行和共享的。 链接器的两个主要的任务是符号解析和重定位,符号解析将文件中的每个全局符号都绑定到一个唯一的定义,而重新定位确定每个符号的最 ...
分类:
其他好文 时间:
2016-04-07 13:18:53
阅读次数:
164
虚拟机类加载机制
1. 类的生命周期:
加载、验证、准备、解析、初始化、使用、卸载七个阶段,其中验证、准备、解析三个阶段统称为连接。
其中,解析的阶段的时机并不一定。
2. Java类加载的时机:
Java类加载的时机Java虚拟机规范并没有强调,但是对于初始化阶段,虚拟机规范则严格限定了有且只有5种情况必须立即对类进行初始化:
这五种场景的行...
分类:
其他好文 时间:
2016-04-07 07:14:24
阅读次数:
204
预处理阶段:将*.c文件转化为*.i预处理过的C程序。 编译阶段:将*.i文件编译为汇编代码*.s文件。 汇编阶段:将*.s文件转化为*.o的二进制目标代码文件。 链接阶段:将*.o文件转化为可执行文件。 生成可执行文件:将*.o转换为可执行文件。 执行可执行C语言文件。 (二)目标文件: 三种形式 ...
分类:
其他好文 时间:
2016-04-07 07:03:36
阅读次数:
226
《深入理解计算机系统》第七章 链接是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可被加载(或拷贝)到存储器并执行。 链接的时机 编译时,也就是在源代码被翻译成机器代码时 加载时,也就是在程序被加载器加载到存储器并执行时。 运行时,由应用程序执行。 在现代系统中,链接是由链接器自 ...
分类:
其他好文 时间:
2016-04-07 07:01:00
阅读次数:
309
一.几个重要的基本概念 链接:链接是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可以被加载到存储器中并执行。 编译器驱动程序:编译的过程可以分为以下几个步骤:1.语言预处理器 2.编译器 3.汇编器 4.链接器 静态链接:以一组可重定位目标文件和命令行参数作为输入,生成一个完全 ...
分类:
其他好文 时间:
2016-04-07 01:28:43
阅读次数:
177
本书目录 第一章: JavaScript语言基础 第二章: JavaScript内置对象第三章: 窗口window对象第四章: 文档document对象第五章: 表单form对象第六章: History与Navigator对象第七章: JavaScript框架编程第八章: JavaScript异常处 ...
分类:
编程语言 时间:
2016-04-07 01:06:22
阅读次数:
278
连接 1.连接:将各种代码和数据部分收集起来并组合成为一个单一文件的过程。这个文件可被加载或拷贝到存储器并执行。 2.连接可以执行于编译时,也就是在源代码被翻译成机器代码。也可以执行于加载时,也就是程序被加载器加载到存储器并执行时执行于运行时,有应用程序来执行。 3.连接是由链接器的程序自动执行的。 ...
分类:
其他好文 时间:
2016-04-07 01:01:24
阅读次数:
171
《深入理解计算机系统》第七章读书笔记 第七章:连接 一、连接 PS:X86-64系统上用gcc -m32产生32位代码 7.1编译器驱动程序 7.2静态链接 ld静态链接器: 7.3目标文件 7.4可重定位目标文件 7.5符号和符号表 1.任何声明带有static属性的全局变量或者函数都是模块私有的 ...
分类:
其他好文 时间:
2016-04-04 19:38:12
阅读次数:
184
1.边距冲突: 当元素的bottom margin碰到另一个元素的top margin可能会产生一些怪异的计算,浏览器会忽略小的那个值而使用大的值。 2.边距折叠: 假设要在警告框里插入一个标题,并且要在它与div的顶部和底部之间各留出一点空间,浴室设置标题的margin为10px。但是设置的边距反 ...
分类:
Web程序 时间:
2016-04-04 16:07:52
阅读次数:
135