发布时间:2016-10-26 14:20:49
操作系统:ubuntu 13.04工具:gcc, objdump, readelf参考:《程序员自我修养》代码编译后的机器指令经常被放在代码段里,代码段名为".text";已初始化的全局变量和已初始化的局部静态变量经常放在数据段里,数据段名为".data";未初始化的全局变量和未初始化局部静态变量一般放在“.bss”段里,.bss在文件中不占据空间。.........【阅读全文】
发布时间:2016-10-26 14:15:07
工具说明用途注意readelf是GNU Binutils提供的工具。用于查看ELF格式目标文件中的信息。#查看ELF格式目标文件中所依赖的共享库:readelf -d.........【阅读全文】
发布时间:2016-10-25 19:10:37
在了解它们之间的区别前,要知道我再上一篇中提到的:在Linux下,动态加载器(/lib/ld-linux.so.2)是如何寻找程序所依赖的共享库(.so)的。0说明用途注意ld.........【阅读全文】
发布时间:2016-10-25 18:14:17
在Linux下,一个程序从源代码到执行,经过了以下几个过程:预处理(Pre-Processing)、编译(Compiling)、汇编(Assembling)、链接(Linking)、加载(Loading)、执行(Executing)。而广义上,我们经常将预处理、编译、汇编、链接统称为编译,把加载和执行统称为执行。1 编译 在Linux下,我们使用.........【阅读全文】
发布时间:2016-10-23 16:52:05
1 基础知识1.1 百度百科目标文件: 目标文件(objectfile)即存放目标代码的计算机文件,它常被“称作”二进制文件(binaries)。目标文件包含着机器代码(可直接被计算机中央处理器执行)以及代码在运行时使用的数据,如重定位信息,如用于链接或调试的程序符号表(变量和函数的名字),此外还包括其他.........【阅读全文】