程序员的自我修养-可执行文件的装载
可执行文件的装载与进程
可执行文件只有装载到内存以后才能被 CPU 执行。早期的程序装载十分简陋,装载的基本过程就是把程序从外部存储器中读取到内存中的某个位置。随着硬件 MMU 的诞生,多进程,多用户,虚拟存储的操作系统出现,可执行文件的装载过程变得非常复杂。
可执行文件只有装载到内存以后才能被 CPU 执行。早期的程序装载十分简陋,装载的基本过程就是把程序从外部存储器中读取到内存中的某个位置。随着硬件 MMU 的诞生,多进程,多用户,虚拟存储的操作系统出现,可执行文件的装载过程变得非常复杂。
当我们有两个目标文件时,如何将它们链接起来形成一个可执行文件?这个过程中发生了什么?
第三章的后半部分
迟到的更新
在开始这一章之前,先复习一下gcc的操作
在一般的IDE中,编译和链接被合并在了一起,称为构建(build),往往一些本质的东西是无法了解到
在Linux下如果使用gcc编译一个c语言程序,只需最简单的命令:
gcc hello.c
./a.out
事实上,上述的过程可以分为4个步骤: