2012年8月1日

四类内存存储分区中的主要内容

摘要: 一个具有多个源文件的程序经过编辑(editing)、编译(compiling)和连接(linking)后,产生一个文件,即可执行模块(executable module),以供运行。每个以磁盘文件形式存在的可执行模块一般包括两个分区:代码区和数据区,而当系统将可执行模块装载到内存中以便运行时,由系统将栈区和堆区加进程序的内存区中,因此,一个准备运行的程序在内存区中共有四个分区:代码区、数据区、栈区和堆区。所有函数(包括主函数、非主函数、各类中的成员函数)的代码通常被存放在内存的代码区。全局变量和所有静态(外部和内部)变量通常被存放在内存的数据区。所有函数(包括主函数、非主函数、各类中的成员.. 阅读全文

posted @ 2012-08-01 17:26 micky.zhou 阅读(511) 评论(0) 推荐(0) 编辑

(转)gdb反汇编小结

摘要: 如果在Linux平台可以用gdb进行反汇编和调试。(转)2. 最简C代码分析 为简化问题,来分析一下最简的c代码生成的汇编代码: # vi test1.c int main() { return 0; } 编译该程序,产生二进制文件: # gcc test1.c -o test1 # file test1 test1: ELF 32-bit LSB executable 80386 Version 1, dynamically linked, not stripped test1是一个ELF格式32位小端(Little Endian)的可执行文件,动态链接并且符号表没有去除。... 阅读全文

posted @ 2012-08-01 16:17 micky.zhou 阅读(6150) 评论(2) 推荐(2) 编辑

vi快捷键总结

摘要: 文本编辑器是所有计算机系统中最常用的一种工具。UNIX下的编辑器有ex,sed和vi等,其中,使用最为广泛的是vi,而vi命令繁多,论坛里好像这方面的总结不多,以下稍做总结,以资共享!渴望更正和补充!进入vi的命令vi filename :打开或新建文件,并将光标置于第一行首vi +n filename :打开文件,并将光标置于第n行首vi + filename :打开文件,并将光标置于最后一行首vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filenamevi filen 阅读全文

posted @ 2012-08-01 14:52 micky.zhou 阅读(212) 评论(0) 推荐(0) 编辑

ln命令举例详解

摘要: 举例:1.对某个文件创建一个连接[root@A ~]# ln -s /home/kk/ss.sh ~ #如果不写目标地址,即在当前目录建接立链接[root@A ~]# lsCentOS-Base.repo.oldboy anaconda-ks.cfg install.log install.log.syslog ss.sh此命令表示在家目录下创建与源文件同名的链接到/home/kk/ss.sh 符号连接[root@A ~]# ln -s /home/kk/ss.sh ~/dd[root@A ~]# lsCentOS-Base.repo.oldboy anaconda-ks.cfg dd ins 阅读全文

posted @ 2012-08-01 14:06 micky.zhou 阅读(33301) 评论(0) 推荐(1) 编辑

导航