发布网友 发布时间:2022-04-19 10:01
共1个回答
热心网友 时间:2023-07-12 22:50
所谓编译预处理是指,在对源程序进行编译之前,先对源程序中的编译预处理命令进行处理;然后再将处理的结果,和源程序一起进行编译,以得到目标代码。 一、宏定义 在C语言中,“宏”分为无参数的宏(简称无参宏)和有参数的宏(简称有参宏)两种。无参宏定义的一般格式 #define 标识符 字符串带参宏定义的一般格式 #define 宏名(形参表) 字符串二、文件包含 文件包含是指一个源文件可以将另一个源文件的全部内容包含进来。文件包含处理命令的格式#include “包含文件名” 或 #include <包含文件名>三、条件编译 条件编译可有效地提高程序的可移植性,并广泛地应用在商业软件中,为一个程序提供各种不同的版本。1. #ifdef ~ #endif和#ifndef ~ #endif命令 一般格式 #ifdef 标识符 程序段1; [#else 程序段2;] #endif2 #if ~ #endif 一般格式 #if 常量表达式 程序段1; [#else 程序段2;] #endifC语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程。链接是把目标文件、操作系统的启动代码和用到的库文件进行组织形成最终生成可执行代码的过程。总结起来编译过程就:预编译、编译、汇编、链接。了解这四个过程中所做的工作,对我们理解头文件、库等的工作过程是有帮助的,而且清 楚的了解编译链接过程还对我们在编程时定位错误,以及编程时尽量调动编译器的检测错误会有很大的帮助的。条件编译允许只编译源程序中满足条件的程序段,使生成的目标程序较短,从而减少了内存的开销并提高了程序的效率。使用预处理功能便于程序的修改、阅读、移植和调试,也便于实现模块化程序设计。