C语言基础—程序创建过程和编译过程


C程序的创建过程 4️⃣

  • C 程序的创建过程有4️⃣个基本步骤:

编写、编译、链接和运行。

  • 编写:用文本编辑器或IDE编写源代码。源代码包含程序所需的所有命令和语句。
  • 编译:使用编译器对源代码进行编译,生成可执行文件。 - .o 文件\ .obj
  • 链接:使用链接器将可执行文件与其他相关文件进行链接,生成完整的可执行程序。-exe文件
  • 执行:运行程序来执行相应的任务。

流程图如下:

Alt----

C程序的编译过程 4️⃣

  • 编译是指将源代码转换为可执行文件(.obj)的过程。

在C语言中,编译过程包括4️⃣个步骤:预处理、编译和汇编,最终链接运行

  • 预处理: 是指处理源代码中的预处理指令,如宏定义( #include) 和文件包含(头文件)。预处理器会执行这些指令,生成新的源代码文件。

  • 编译 :是指将预处理后的源代码转换为汇编代码的过程。编译器会检查源代码的语法和语义,并生成相应的汇编代码。

  • 汇编 :是指将汇编代码转换为机器代码的过程。汇编器会根据汇编代码中的指令和操作数,生成机器代码(0101),这些代码可以直接在计算机处理器上运行。

  • 链接: 最终,调用静态库(编译时加载)或者动态库(运行时加载),产生可执行文件。 这个文件就是编译后的可执行程序 (.obj)。

 


流程图:

Alt

 


 

预处理指令 (#)

常见的预处理指令

预处理指令是C语言中特殊的命令,它们用来在程序编译前对源代码进行处理。预处理指令以 # 开头,通常位于源代码的开头或包含文件中。

常用的预处理指令包括:

#define:定义宏。
#include:包含文件。
#if:条件编译。
#error:生成错误消息。
#pragma:提供编译器特定的指令。

预处理指令的作用

预处理指令的作用是提高源代码的可读性和可维护性并提供一些额外的功能。

例如,

  • 可以使用预处理指令来定义常量,方便在程序中多次使用。
  • 可以使用预处理指令来包含其他文件,方便管理和维护源代码。
  • 可以使用预处理指令来条件编译,实现不同平台或编译器之间的差异。

举例:咱们C语言程序常用的开头的#include <stdio.h>

#include 是C语言中的预处理指令,用于在程序编译时包含指定的文件。在 #include 指令中,可以使用尖括号 <> 或引号 “” 来指定要包含的文件。

#include <stdio.h> 指令会在编译时包含 stdio.h 头文件,这个文件包含了标准输入输出库的声明和定义。使用这个指令后,程序就可以使用标准输入输出库提供的函数,如 printf() 和 scanf()

 

❗️include <> 和 “” 区别

🤨 尖括号 <> 和引号 “” 的区别在于,前者表示要包含的文件位于编译器的默认搜索路径中,而后者表示要包含的文件位于程序文件所在的目录或指定的搜索路径中。也就是""先搜索当前目录的,如果找不到文件回到编译器的默认搜索路径重新搜索。

  • 例如,#include “myheader.h” 指令会在编译时包含名为 myheader.h 的头文件。优先搜索当前目录的,如果找不到文件回到编译器的默认搜索路径重新搜索。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值