C语言讲义——“编译、链接”

HelloWorld

HelloWorld

最简HelloWorld

  1. include <stdio.h> 指令:标准输入输出头文件。

  2. main函数 C语言程序的唯一入口。
#include <stdio.h>

main() {

        printf("Hello World");

}

main()是C语言中主函数名最简化的写法

C语言的“编译、链接”

我们写的代码,本质上是文本文件(txt),不管后缀怎么变,终究是文本文件,计算机只能显示,不能做事(执行)。

文本文件通过“编译、链接”,成为可执行文件(windows下是exe):

  • 编译:生成.o文件,也被称为“对象文件”、“目标文件”。
  • 链接:将有关的目标文件连接起来,使所有的.o文件成为一个可执行的整体。

为什么要生成“.o文件”?这不是多此一举嘛?

——大型程序往往需要分文件写,每个源文件会生成对应的.o文件,修改其中一个源文件,编译时只重新编译该文件。如果编译直接生成最终文件,改一个文件则整个工程都要重新编译。

.o好比活字印刷的一个字,错了直接重刻一个字就好了,而不用整版重刻。

编译又分为“预编译”、“编译”两个步骤:

  • 预编译(Preprocessing):读取c源程序,对其中的伪指令(以#开头的指令)进行替代。【好比发帖时,不能出现的字用X代替】,输出的还是文本文件。
  • 编译(Compilation):将预编译后的文件翻译成机器码,生成.o文件。
  • (某些编译器会先转为汇编码,然后再转为机器码,所以有的地方会说编译包括“预编译、编译、汇编”3步)

打个比方——

写代码:买菜
预编译:切菜
编译:炒菜
链接:上桌

原文地址:https://www.cnblogs.com/tigerlion/p/11191215.html