gcc helloworld.c 四个步骤
gcc helloworld.c 四个步骤
生成一个.i文件,-E表示只让gcc举行预处理
预处理展开了头文件,形成了main函数上面的一大串文字
.c--.i 预处理
.i--.s 编译
.s--.o 汇编
.o--可执行文件 链接
.c文件—>.i文件—>.s文件—>.o文件—>可执行文件
预处理 编译 汇编 链接
编译全过程:.c文件——.i文件——.s文件——.o文件——可执行文件 预处理 编译 汇编 链接
生成查看.i文件:gcc -o helloworld.i helloworld.c -E,-E表示只让gcc进行预处理;
4个步骤:
.c -> .i -> .s -> .o -> 可执行文件
预处理->编译->汇编->连接
之前一直弄不清楚编译和汇编的关系
c -> i -> s ->o ->exe
.c 文件——.i文件:预处理
.i 文件——.s文件:编译
.s文件——.o文件:汇编
.o文件——可执行文件:链接
为了查看.i文件:gcc -o helloworld.i helloworld.c -E
-E表示:让gcc只进行到预处理
查看.i文件:vi xx.i
预处理第一件事,展开头文件
然后是宏替换
.i文件内函数在底端可以看见
$ 跳到文件底部 或 G 或 shift+g
.i 生成一个i后缀的文件
-E 只进行预处理
编译文件的四个步骤
预处理----->编译----->汇编----->链接
编译包括4个步骤:预处理(i)、编译()、汇编()、链接()。
预处理:
.c和.i文件都是C的语法。.i展开了头文件同时进行宏替换(宏定义)。
预处理命令
.c文件->预处理->.i文件->编译->.s文件->汇编->.o文件->链接->可执行文件
vim helloworld.c创建一个.c文件
gcc helloworld.c编译文件
gcc -o helloworld.i helloworld.c -E生成一个.i文件,只进行预处理
预处理:展开头文件,宏替换
C编译步骤
编译一个程序分为四步骤:.c文件-(预处理)->.i文件-(编译)->.s文件-(汇编)->.o文件-(链接)->可执行文件 预处理 分为展开头文件(#include<stdio.h>)和宏替换 ps. ":s"的作用为跳到文件底部
【预处理】.c——.i
【编译】.i——.s
【汇编】.s——.o
【链接】.o——可执行文件
vim helleword.c-->gcc helloword.c 编译的四个步骤(预处理,编译,汇编,链接)
编译的四个步骤
C编译过程
编译的四个步骤。预处理是第一个步骤。预处理做的第一件事儿就是展开了c的头文件。另外一件事就是宏替换。还提供了一个功能是条件编译。
预处理->编译->汇编->链接
1.
.c文件(预处理) --> .i文件(编译) -->.s文件(汇编) --> .o文件(链接)-->可执行文件