C言语编程分为几个阶段 (c语言分为几大类)
本文目录导航:
C言语编程分为几个阶段?
预解决阶段:预解决器(cpp)依据以字符#扫尾的命令,修正原始的C程序。
比如hello.c中第一行的#include<stdio.h>命令通知预解决器读取系统头文件stdio.h的内容,并把它间接拔出程序言本中,结果就获取了另一个C程序,理论是以.i作为文件裁减名。
编译阶段:编译器(ccl)将文本文件hello.i翻译成文本文件hello.s,它蕴含一个汇编言语程序。
汇编言语程序中的每条语句都以一种规范的文本格局确切的形容了一条低级机器言语指令。
汇编阶段:汇编器(as)将hello.s翻译成机器言语指令,把这些指令打包成一种可重定位指标程序的格局,并将结果保留在指标文件hello.o中。
hello.o文件是一个二进制文件,它的字节编码是机器言语指令而不是字符,假设咱们在文本文件中关上hello.o文件,看到的将是一堆乱码。
链接阶段:链接器(ld)担任解决兼并指标代码,生成一个可口头指标文件,可以被加载到内存中,由系统口头
c言语程序中以井号扫尾的是一个?
c言语程序中以井号扫尾的是 预解决指令
C言语预解决指令是什么?
C言语预解决指令是在源代码编译之前,由预解决器解决的一系列不凡命令。
这些指令重要用于对源代码启动预解决,启动一些文本交流、条件编译、文件蕴含等操作,以便生成最终用于编译的源代码。
预解决指令理论以 `#` 符号扫尾,是C言语编译环节中的第一个阶段。
以下是一些常常出现的C言语预解决指令:1. **`#define`:** 用于定义宏,可以用来代替常量、函数或代码片段。
2. **`#include`:** 用于蕴含其余文件的内容,理论用于蕴含头文件(header files)。
3. **`#ifdef`、`#ifndef`、`#else`、`#endif`:** 用于条件编译,依据条件选择能否编译特定的代码块。
4. **`#ifdef`、`#else`、`#elif`、`#endif`:** 与上述相似,用于多条件的条件编译。
5. **`#undef`:** 用于敞开宏的定义。
6. **`#pragma`:** 用于发送特定的编译器指令,可以用于管理编译器的行为。
7. **`#error`:** 用于在预解决阶段生成编译失误信息。
8. **`#warning`:** 用于在预解决阶段生成编译正告信息。
9. **`#line`:** 用于指定源代码中的行号和文件名。
预解决指令在源代码编译之前口头,对源代码启动解决和交流,生成新的源代码,而后才进入编译阶段。
这些指令可以协助程序员在编译行启动一些文本操作和条件编译,从而增强了C言语的灵敏性和可保养性。