Linux下ELF文件类型分为以下几种: 1、可重定位文件,例如SimpleSection.o; 2、可执行文件,例如/bin/bash; 3、共享目标文件,例如/lib/libc.so。 在Linux 可重定位文件 ELF结构一文中,我们已经分析了可重定位文件ELF结构。本文分析可执行文件的ELF结构。 首先附上源代码:#include
int main()
{...
分类:
系统相关 时间:
2014-09-18 14:50:44
阅读次数:
356
1.系统调用:
应用程序和内核间的桥梁,是应用程序访问内核的入口点;但通常情况下,应用程序通过操作系统提供的API进行编程而不是使用系统调用直接编程; linux的全部系统调用加起来大约只有250个左右。
2.API:
API常以c库(libc)的形式提供,c库提供了绝大部分API,每个系统调用在c库中都有对应的封装函数(通常封装函数与系统调用的名称相同)。系统调用与c库函...
??
1进程环境
libc中定义的全局变量environ指向环境变量表,environ没有包含在任何头文件中,所以在使用时要用extern声明。例如:
运行结果:
2.env命令可以查看进程信息
3.echo $环境变量名
得出环境变量的值
4getenv()
A依赖头文件
#include
B函数声...
分类:
其他好文 时间:
2014-09-16 01:38:39
阅读次数:
217
1 下载glibcwgethttp://ftp.gnu.org/pub/gnu/glibc/glibc-2.7.tar.gz2. tar zxf glibc-2.7.tar.gz3. cd glibc-2.74. mkdir build#这里必须新建一个目录5. cd build6. 执行 ../c...
分类:
系统相关 时间:
2014-09-12 11:25:53
阅读次数:
241
大家可能经常使用gcc -static ***.c,那么这个静态链接究竟使用了什么命令,又链接了哪些库呢? 我们首先来分析libc.a是个什么文件。我们已经知道了xxx.so是动态链接库,xxx.o是静态链接库或者说可重定位文件,/bin/bash为可执行文件。 libc.a其实是很多可重定位文件的集合,而且每个可重定位文件中一般都只写一个函数。例如printf.o只有printf一个...
分类:
其他好文 时间:
2014-09-10 17:45:40
阅读次数:
236
Linux下ELF文件类型分为以下几种: 1、可重定位文件,例如SimpleSection.o; 2、可执行文件,例如/bin/bash; 3、共享目标文件,例如/lib/libc.so。 再接下来的文章中,我们会使用objdump,readelf,hexdump,nm等来分析一个Linux中可重定位文件SimpleSection.o。 首先附上SimpleSecti...
分类:
系统相关 时间:
2014-09-09 21:38:39
阅读次数:
564
一般我们都知道用man手册去查看libc库的API的用法,例如man? strcpy、man stat ...其实内核里的一些API也可以编译到man手册中, 这样对于学习内核的,也无疑是一种很好的资料。 ----------------------------...
没有Oraclehoume的情况下,执行下环境变量文件sqlldr userid= DM/DM control = /home/oracle/libc/load.ctlload data infile '/home/oracle/libc/data.txt' ...
分类:
数据库 时间:
2014-09-05 15:54:41
阅读次数:
260
1. 如何调试分析Android中发生的tombstonehttp://www.360doc.com/content/12/1017/10/7580194_241974419.shtmltombstone一般是由Dalvik错误,状态监视调试器,C代码以及libc的一些问题导致的。Android T...
分类:
移动开发 时间:
2014-08-31 18:35:51
阅读次数:
239
TBOX内置的libc库,有一份自有的printf实现,在支持了所有标准格式化参数的同时,也对其进行了一些扩展,来支持自定义的格式化参数打印, 例如: // 输出定点数:3.14 tb_printf("%{fixed}\n", tb_float_to_fixe...
分类:
其他好文 时间:
2014-08-28 16:22:30
阅读次数:
184