[C] 运行C程序的步骤

版权声明:本文为博主原创文章,若有错误之处望大家批评指正!转载需附上原文链接,谢谢! https://blog.csdn.net/summer_dew/article/details/83925470

在这里插入图片描述

  1. 编辑:源程序f.c
  2. 编译:先用C编译系统提供的“预处理器”(“预处理程序”或“预编辑器”)对程序中的预处理指令进行编译处理。由预处理得到的信息与程序其他部分一起,组成一个完整的、可以用来进行正式编译的源程序,然后由编译系统对源程序进行编译
    例如,对于#include<stdio.h>将stdio.h头文件的内容读进来,取代#include<stdio.h>
  3. 连接:经过编译所得到的二进制目标文件(.obj)还不能供计算机直接执行。一个程序可以有好几个.c文件,而编译时以单个.c文件为对象的,一次编译只能得到与一个.c文件相对应的目标文件(目标模块),它只是整个程序的一部分。必须把所有的编译后得到的目标模块连接装配起来,再与函数库相连成整体,生成一个可供计算机执行的目标程序,称为可执行程序(executive program)
  4. 运行可执行程序(.exe),得到运行结果

【解释】

  1. 编辑:写c文件,可能有多个
  2. 编译:将预处理指令进行处理,编译成一个.obj,一个.c文件编译成一个.obj
  3. 连接:可能有多个.c文件,对应就有多个.obj文件,将.obj文件进行连接,得到.exe
  4. 运行:运行.exe

【关于include】

  1. include进来的只是头文件.h,一般把具体的实现放到.c文件中
    例如:stdio.h存放申明,stdio.c存放具体实现
  2. 所以包含#include<stdio.h>的test.c文件编译的过程:
    • 先在test.c中将#include<stdio.h>用stdio.h进行代替
    • 编译test.c得到test.obj
    • test.obj与stdio.obj(由stdio.c编译得到)进行连接,组成test.exe

猜你喜欢

转载自blog.csdn.net/summer_dew/article/details/83925470