C程序的创建过程 4️⃣
- C 程序的创建过程有4️⃣个基本步骤:
编写、编译、链接和运行。
- 编写:用文本编辑器或IDE编写源代码。源代码包含程序所需的所有命令和语句。
- 编译:使用编译器对源代码进行编译,生成可执行文件。 - .o 文件\ .obj
- 链接:使用链接器将可执行文件与其他相关文件进行链接,生成完整的可执行程序。-exe文件
- 执行:运行程序来执行相应的任务。
流程图如下:
----
C程序的编译过程 3️⃣
编译是指将源代码转换为可执行文件(.obj)的过程。
在C语言中,编译过程包括3️⃣个步骤:预处理、编译和汇编
-
预处理: 是指处理源代码中的预处理指令,如宏定义( #include) 和文件包含(头文件)。预处理器会执行这些指令,生成新的源代码文件。
-
编译 :是指将预处理后的源代码转换为汇编代码的过程。编译器会检查源代码的语法和语义,并生成相应的汇编代码。
-
汇编 :是指将汇编代码转换为机器代码的过程。汇编器会根据汇编代码中的指令和操作数,生成机器代码(0101),这些代码可以直接在计算机处理器上运行。
-
最终,编译器会将机器代码和其他必要的文件打包成一个可执行文件。 这个文件就是编译后的可执行程序 (.obj)。
流程图:
预处理指令 (#)
预处理指令是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 的头文件。优先搜索当前目录的,如果找不到文件回到编译器的默认搜索路径重新搜索。