码迷,mamicode.com
首页 >  
搜索关键字:可执行文件    ( 3307个结果
linux安全第七周总结
20135336 王维臻 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一、学习内容 (一)预处理、编译、链接和目标文件的格式 1.可执行程序是怎么得来的 2.目标文件的格式ELF 3.静态链接的ELF可执行文件和 ...
分类:系统相关   时间:2016-04-07 13:22:04    阅读次数:305
《深入理解计算机系统》第七章 学习总结
预处理阶段:将*.c文件转化为*.i预处理过的C程序。 编译阶段:将*.i文件编译为汇编代码*.s文件。 汇编阶段:将*.s文件转化为*.o的二进制目标代码文件。 链接阶段:将*.o文件转化为可执行文件。 生成可执行文件:将*.o转换为可执行文件。 执行可执行C语言文件。 (二)目标文件: 三种形式 ...
分类:其他好文   时间:2016-04-07 07:03:36    阅读次数:226
Linux内核第七节 20135332武西垚
预处理、编译、链接和目标文件的格式 可执行程序是怎么得来的 以C语言为例,c代码经过编译器的预处理,编译成汇编代码,由汇编器编译成目标代码,再链接成可执行文件,由操作系统加载到cpu里来执行。 (截图) 预处理负责把include的文件包含进来及宏替换等工作 可执行文件是使用共享库的。 把库里的东西 ...
分类:系统相关   时间:2016-04-07 01:02:17    阅读次数:211
20135302魏静静——linux课程第七周实验及总结
linux课程第七周实验及总结 实验及学习总结 1. 编译链接的过程和ELF可执行文件格式(以hello为例) GNU编译系统编译源码: 首先,运行C预处理器(cpp),将.c文件翻译成.i文件——gcc -E -o hello.cpp hello.c -m32 接着,运行C编译器(cc1),将.i ...
分类:系统相关   时间:2016-04-07 00:58:06    阅读次数:310
Linux内核分析——第七周学习笔记20135308
第七周 可执行程序的装载 一、预处理、编译、链接和目标文件的格式 1.可执行程序是怎么来的 C代码—>预处理—>汇编代码—>目标代码—>可执行文件 .asm汇编代码 .o目标码 a.out可执行文件 预处理负责把include的文件包含进来及宏替换工作。 2.目标文件的格式ELF (1)常见的ELF ...
分类:系统相关   时间:2016-04-06 23:18:07    阅读次数:344
第七周 linux如何装载和启动一个可执行文件
潘恒 原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一、实验内容 1.预处理、编译和链接 实践 ELF头部在文件的开始,描述文件的总体格式,保存了路线图,描述该文件的组织情况,即生成该文件系 ...
分类:系统相关   时间:2016-04-06 21:42:41    阅读次数:187
Linux内核分析之可执行程序的装载和启动
一、内容分析 1.可执行文件的创建 (1)预处理阶段 预处理过程读入源代码,检查包含预处理指令的语句和宏定义,并对源代码进行相应的转换,预处理过程还会删除程序中的注释和多余的空白字符。其中预处理指令主要包括以下四个方面: 宏定义指令——预处理过程会把源代码中出现的宏标识符替换成宏定义时的值,常用的两 ...
分类:系统相关   时间:2016-04-06 18:48:28    阅读次数:279
uboot 链接地址与运行地址的区别
对于ARM架构的CPU,上电后PC寄存器是指向0地址处的,从这个地址开始运行程序,那么运行了启动代码后会把程序搬移到内存中去运行,这样就是产生程序会在运行时有个两地址,而由源码编译为可执行文件时只会指定一个链接地址,指定的这个地址通常是在内存中运行时的运行地址,那么刚上电启动时的程序运行地址怎么办呐 ...
分类:其他好文   时间:2016-04-06 18:11:53    阅读次数:2385
Linux内核分析07
可执行程序的装载 一,预处理、编译、链接和目标文件的格式 可执行程序是怎么来的? 预处理 把include里的宏定义替换 做字符串处理。 efl格式? 目标文件格式,Windows中用PE Linux中用efl。 静态链接、动态链接? ABI和文件格式的关系? 二进制兼容。 可重定位文件 可执行文件 ...
分类:系统相关   时间:2016-04-06 11:01:06    阅读次数:212
分离编译
分离式编译是指一个完整的程序或项目由若干个源文件共同实现,每个源文件单独编译生成目标文件,最后将该项目中的所有目标文件连接成一个单一的可执行文件的过程。每个.cpp源文件经过预处理,它所包含的.h文件的代码都会被展开到其中。再经过编译器的编译汇编等过程,将该.cpp..
分类:其他好文   时间:2016-04-06 00:42:15    阅读次数:226
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!