寄存器: 寄存器号 符号名 用途 0 始终为0 看起来象浪费,其实很有用 1 at 保留给汇编器使用 2-3 v0,v1 函数返回值 4-7 a0-a3 前头几个函数参数 8-15 t0-t7 临时寄存器,子过程可以不保存就使用 24-25 t8,t9 同上 16-23 s0-s7 寄存器变量,子过 ...
分类:
其他好文 时间:
2016-04-11 00:13:34
阅读次数:
209
链接的过程 首先运行C预处理器cpp,将C的源程序(a.c)翻译成ASCII码的中间文件(a.i) 接着C编译器ccl,将a.i翻译成ASCII汇编语言文件a.s 接着运行汇编器as,将a.s翻译成可重定位的目标文件a.o 最终完全链接成可执行文件a.out 目标文件 目标文件有三种形式: 可重定位 ...
分类:
系统相关 时间:
2016-04-10 21:29:33
阅读次数:
227
第七周 可执行程序的装载 郭皓 原创作品转载请注明出处 《Linux内核分析》MOOC课程 http://mooc.study.163.com/course/USTC-1000029000 一、预处理,编译,链接和目标文件格式 1.可执行程序是怎么得来的 c代码->预处理->汇编代码->汇编器->目 ...
分类:
系统相关 时间:
2016-04-10 01:01:09
阅读次数:
242
第七章——链接 1、链接是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可被加载到存储器并执行。 2、链接可以执行于编译时,加载时,运行时。 7.1编译器驱动程序 1、大多数编译系统提供编译驱动程序,它代表用户在需要时调用语言预处理器、编译器、汇编器和链接器。 7.2 静态链接 ...
分类:
系统相关 时间:
2016-04-09 19:06:36
阅读次数:
303
张潇月+《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 可执行程序怎么来的? 以C语言为例:C代码-编译预处理-编译成汇编代码-汇编器将其变成目标代码-链接成可执行代码-执行 预处理负责把include的文件包含进来 ...
分类:
其他好文 时间:
2016-04-09 17:02:56
阅读次数:
196
《深入了解计算机系统》第七章读书笔记 第一部分:链接 链接定义:链接是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可被加载(或被拷贝)到存储并执行。 第二部分:目标文件 目标文件:目标文件用以存放目标代码和由编译器或汇编器生成的相关数据的计算机文件格式称为目标文件格式。 目标文 ...
分类:
其他好文 时间:
2016-04-09 16:35:33
阅读次数:
138
《Linux内核分析》第七周学习总结 ——可执行程序的装载 姓名:王玮怡 学号:20135116 一、理论部分总结 (一)可执行程序的装载 1、预处理、编译、链接和目标文件的格式 C代码经过编译器的预处理(.cpp),然后编译成汇编代码(.asm/.s),由汇编器成目标代码(.o,二进制文件),再链 ...
分类:
系统相关 时间:
2016-04-09 13:55:06
阅读次数:
241
一、链接概述 1.链接 编译时:即源代码被翻译成机器代码 加载时:程序被加载器加载到存储器并执行 运行时 使得分离编译成为可能(将大型应用程序分解为若干个小模块) 2.铺垫——编译驱动程序以及目标文件、符号表 编译驱动程序代表用户调用语言预处理器、编译器、汇编器和连接器 目标文件有三种形式: 3.静 ...
分类:
其他好文 时间:
2016-04-07 20:36:13
阅读次数:
132
一.几个重要的基本概念 链接:链接是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可以被加载到存储器中并执行。 编译器驱动程序:编译的过程可以分为以下几个步骤:1.语言预处理器 2.编译器 3.汇编器 4.链接器 静态链接:以一组可重定位目标文件和命令行参数作为输入,生成一个完全 ...
分类:
其他好文 时间:
2016-04-07 01:28:43
阅读次数:
177
预处理、编译、链接和目标文件的格式 可执行程序是怎么得来的 以C语言为例,c代码经过编译器的预处理,编译成汇编代码,由汇编器编译成目标代码,再链接成可执行文件,由操作系统加载到cpu里来执行。 (截图) 预处理负责把include的文件包含进来及宏替换等工作 可执行文件是使用共享库的。 把库里的东西 ...
分类:
系统相关 时间:
2016-04-07 01:02:17
阅读次数:
211