计算机系统
大作业
题 目 程序人生-Hello’s P2P
专 业 计算机
学 号 1190200428
班 级 1903005
学 生 陈宏瑞
指 导 教 师 史先俊
计算机科学与技术学院
2021年5月
本文主要讲述了hello.c程序在编写完成后运行在linux中的生命历程,借助相关工具分析预处理、编译、汇编、链接等各个过程在linux下实现的原理,分析了这些过程中产生的文件的相应信息和作用。
关键词:预处理;编译;汇编;链接;shell;虚拟内存;IO
目 录
2.2在Ubuntu下预处理的命令.......................................................................... - 5 -
3.2 在Ubuntu下编译的命令............................................................................. - 6 -
4.2 在Ubuntu下汇编的命令........................................................................... - 10 -
5.2 在Ubuntu下链接的命令........................................................................... - 13 -
5.3 可执行目标文件hello的格式.................................................................. - 13 -
5.5 链接的重定位过程分析............................................................................... - 16 -

本文详细分析了hello.c程序在Linux环境中的生命周期,包括预处理、编译、汇编、链接及执行过程。通过cpp预处理、gcc编译、as汇编、ld链接,最终生成可执行程序。文章探讨了预处理中的宏展开、文件包含,编译阶段的词法分析、语法分析,汇编阶段的目标文件格式,链接阶段的重定位及可执行文件的内存布局,以及程序执行中的进程管理、存储管理和IO管理。通过对hello进程创建、异常处理、内存映射的深入剖析,揭示了程序在Linux下的运行机制。
最低0.47元/天 解锁文章
3317

被折叠的 条评论
为什么被折叠?



