上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 18 下一页
摘要: 34.1 信号特点 信号的发生是随机的,但信号在何种条件下发生是可预测的 进程杠开始启动时,所有信号的处理方式要么默认,要么忽略;忽略是 SIGUSR1 和 SIGUSR2 两个信号,其他都采取默认方式(大多数是终止进程)。 进程在调用 exec 函数后,原有信号的捕捉函数失效 子进程的诞生总是继承 阅读全文
posted @ 2018-12-30 21:53 游戏进行中 阅读(544) 评论(0) 推荐(0) 编辑
摘要: 编程内容: 1.完成 echo env export 命令 2.完成前后台进程 3.完成重定向 完整代码如下: 29.1 主函数、通用头文件和Makefile 29.1.1 主函数 mshell_main.c 29.1.2 通用文件 mshell_common.h mshell_common.c 2 阅读全文
posted @ 2018-12-30 21:52 游戏进行中 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 30.1 信号的基本概念 信号(signal)机制是Linux 系统中最为古老的进程之间的通信机制,解决进程在正常运行过程中被中断的问题,导致进程的处理流程会发生变化 信号是软件中断 信号是异步事件 不可预见 信号有自己的名称和编号 信号和异常处理机制 信号发生的来源 硬件来源:如按下键盘或其他硬件 阅读全文
posted @ 2018-12-30 21:52 游戏进行中 阅读(463) 评论(0) 推荐(0) 编辑
摘要: 4.1.2 符号解析与重定位 (1)重定位 在完成空间和地址的分配步骤之后,链接器就进入了符号解析和重定位的步骤,这是静态链接的核心部分。 先看看 a.o 的反汇编文件: objdump -d a.o: 程序代码里面都是使用的虚地址,main 起始地址为 0 ,这是因为在未进行空间分配之前,目标文件 阅读全文
posted @ 2018-08-22 21:54 游戏进行中 阅读(1141) 评论(0) 推荐(0) 编辑
摘要: 三、汇编 编译过程就是生成汇编代码的过程,在编译过程中,也会调用汇编器 as,将源代码生成汇编代码。比如,执行 gcc -S hello.c -o hello.s 此时已经生成了汇编代码。 汇编的过程就是将 hello.s 生成目标文件。 汇编器是将汇编代码转变成机器可以执行的指令,每一个汇编语句几 阅读全文
posted @ 2018-08-22 21:52 游戏进行中 阅读(1713) 评论(0) 推荐(0) 编辑
摘要: 2.2 语法分析 语法分析器(Grammar Parser)将对由扫描器产生的记号进行语法分析,从而产生语法树(Syntax Tree)。整个分析过程采用了上下文无关语法(Context-free Grammar)的分析手段。 由语法分析器生成的语法树就是以表达式(Expression)为节点的树。 阅读全文
posted @ 2018-08-17 14:31 游戏进行中 阅读(2260) 评论(0) 推荐(0) 编辑
摘要: 二、编译 引用文档:https://blog.csdn.net/chdhust/article/details/9040647 编译过程就是把预处理完的文件进行一系列词法分析、语法分析、语义分析及优化后生成相应的汇编代码文件,这个过程是整个程序构建的核心部分,也是最复杂的部分之一。 现在版本的 GC 阅读全文
posted @ 2018-08-17 12:01 游戏进行中 阅读(2464) 评论(0) 推荐(0) 编辑
摘要: Gcc的编译流程分为了四个步骤: 预处理,生成预编译文件(.文件):gcc –E hello.c –o hello.i 编译,生成汇编代码(.s文件):gcc –S hello.i –o hello.s 汇编,生成目标文件(.o文件):gcc –c hello.s –o hello.o 链接,生成可 阅读全文
posted @ 2018-08-16 22:51 游戏进行中 阅读(5029) 评论(0) 推荐(0) 编辑
摘要: 4.5 String Table:字符串表 字符串表节区包含以 NULL( ASCII 码 0) 结尾的字符序列, 通常称为字符串。 ELF 目标文件通常使用字符串来表示符号和节区名称。 对字符串的引用通常以字符串在字符串表中的下标给出。 一般, 第一个字节(索引为 0)定义为一个空字符串。类似的, 阅读全文
posted @ 2018-08-16 22:01 游戏进行中 阅读(1415) 评论(0) 推荐(0) 编辑
摘要: 四、 ELF 文件格式分析 ELF文件(目标文件)格式主要四种: 可重定向文件: 文件保存着代码和适当的数据,用来和其他的目标文件一起来创建一个可执行文件或者是一个共享目标文件。(目标文件或者静态库文件,即linux通常后缀为 .a 和 .o 的文件) 可执行文件: 文件保存着一个用来执行的程序。( 阅读全文
posted @ 2018-08-16 21:56 游戏进行中 阅读(3001) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 18 下一页