一步编译:gcc -o hello.exe(windows .exe) hello.c
预处理:宏定义展开、头文件展开、条件编译(选什么编译库、当前系统是多少位的)、把注释删除,此时不检查语法hello.i
编译:检查语法,C语言转为汇编语言(命令)hello.s
汇编:生成目标文件 hello.o
链接:将C语言依赖库链接到程序中hello.exe
程序执行过程
存硬盘(外存) 加载到内存(MEM):代码区、数据区、栈区、堆区
内存和CPU交互
一步编译:gcc -o hello.exe(windows .exe) hello.c
预处理:宏定义展开、头文件展开、条件编译(选什么编译库、当前系统是多少位的)、把注释删除,此时不检查语法hello.i
编译:检查语法,C语言转为汇编语言(命令)hello.s
汇编:生成目标文件 hello.o
链接:将C语言依赖库链接到程序中hello.exe
程序执行过程
存硬盘(外存) 加载到内存(MEM):代码区、数据区、栈区、堆区
内存和CPU交互