预处理、编译、链接和目标文件的格式 可执行程序是怎么得来的 以C语言为例,c代码经过编译器的预处理,编译成汇编代码,由汇编器编译成目标代码,再链接成可执行文件,由操作系统加载到cpu里来执行。 (截图) 预处理负责把include的文件包含进来及宏替换等工作 可执行文件是使用共享库的。 把库里的东西 ...
分类:
系统相关 时间:
2016-04-07 01:02:17
阅读次数:
211
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
第七周 可执行程序的装载 一、预处理、编译、链接和目标文件的格式 1.可执行程序是怎么来的 C代码—>预处理—>汇编代码—>目标代码—>可执行文件 .asm汇编代码 .o目标码 a.out可执行文件 预处理负责把include的文件包含进来及宏替换工作。 2.目标文件的格式ELF (1)常见的ELF ...
分类:
系统相关 时间:
2016-04-06 23:18:07
阅读次数:
344
可执行程序的装载 一、预处理、编译、链接和目标文件的格式 1.可执行程序怎么来的? 预处理: gcc -E -o hello.cpp hello.c -m32 *负责把include的文件包含进来及宏替换 编译: gcc -x cpp-output -S -o hello.s hello.cpp - ...
分类:
系统相关 时间:
2016-04-06 15:06:01
阅读次数:
156
可执行程序的装载 一,预处理、编译、链接和目标文件的格式 可执行程序是怎么来的? 预处理 把include里的宏定义替换 做字符串处理。 efl格式? 目标文件格式,Windows中用PE Linux中用efl。 静态链接、动态链接? ABI和文件格式的关系? 二进制兼容。 可重定位文件 可执行文件 ...
分类:
系统相关 时间:
2016-04-06 11:01:06
阅读次数:
212
程序的基本流程如图:1.预处理预处理相当于根据预处理指令组装新的C/C++程序。经过预处理,会产生一个没有宏定义,没有条件编译指令,没有特殊符号的输出文件,这个文件的含义同原本的文件无异,只是内容上有所不同。读取C/C++源程序,对其中的伪指令(以#开头的指令)进行处理..
分类:
其他好文 时间:
2016-04-06 00:48:20
阅读次数:
152
姓名:何伟钦 学号:20135223 ( *原创作品转载请注明出处*) ( 学习课程:《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-100002900 学习内容:Linux内核如何装载和启动一个可执行程序 理解编译链接的过程和ELF可执 ...
分类:
系统相关 时间:
2016-04-05 22:54:24
阅读次数:
211
2004 年 3 月 01 日 基本使用 对于下面这样的一个简单程序test.cpp: 我们的基本需求当然是对于该程序报告存在两处内存泄漏。要做到这点的话,非常简单,只要把debug_new.cpp也编译、链接进去就可以了。在Linux下,我们使用: 输出结果如下所示: 如果我们需要更清晰的报告,也 ...
分类:
编程语言 时间:
2016-04-05 01:57:58
阅读次数:
264
LINUX内核分析第六周学习总结——进程的描述和进程的创建 张忻(原创作品转载请注明出处) 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一、知识概要 (一)预处理、编译、链接和目标文件的格式 1.可执行程序是怎么 ...
分类:
系统相关 时间:
2016-04-04 22:43:34
阅读次数:
403
1. -R 访问目录下所有文件 2. OpenGL编译链接库:-lGL -lGLU -lgult 3. 在某个目录下搜索某个文件里的关键字 grep “hello” * -rwR 2) sudo find-name \* -type f -print | xargs grep "fb" 4 pyth ...
分类:
其他好文 时间:
2016-04-04 14:49:15
阅读次数:
92