硬件基础
- 计算机低速I/O部件由南桥芯片收集信号连接北桥,北桥通过总线和CPU通信
- 操作系统负责提供抽象接口和管理硬件资源
- 操作系统通过多任务系统对CPU进行管理
- 操作系统使用分页模式对内存进行管理
- 操作系统读写I/O端口来实现对磁盘进行管理
- CPU通过MMU(memory management unit)使虚拟地址映射到物理地址
可执行文件编译过程
- 预处理阶段:主要将
#
开头的库源码导入,删除注释,添加行号和文件名标识
该步骤的命令为:gcc -E test.c -o test.i
- 编译阶段: 将C语言代码进行分析,编译为汇编语言
assembly
该步骤的命令为:gcc -S test.i -o test.s
- 汇编阶段:将汇编语言转换为机械代码
该步骤的命令为:gcc -c test.s -o test.o
- 链接阶段: 将可执行文件所依赖库进行链接,并生成可执行文件,分为
静态链接
和动态链接
该步骤的命令为:gcc test.o -o test
默认使用的是动态链接,若要使用静态连接则使用参数-static
:gcc test.o -o test -static