做网站周记,游戏网页制作,赤城网站建设,网站横幅背景图头文件包含#xff1a;#include定义一个宏#xff1a;#define条件编译#xff1a;#if、#else、#endif编译控制#xff1a;#pragma
编译器提供的这些预处理命令#xff0c;大大方便了程序的编写#xff1a;通过头文件包含可以实现模块化编程#xff1b;使用宏可以定义一…头文件包含#include定义一个宏#define条件编译#if、#else、#endif编译控制#pragma
编译器提供的这些预处理命令大大方便了程序的编写通过头文件包含可以实现模块化编程使用宏可以定义一个常量提高程序的可读性通过条件编译可以让代码兼容不同的处理器架构和平台以最大限度地复用公用代码。通过 #pragma 预处理命令可以设定编译器的状态指示编译器完成一些特定的动作。
#pragma pack([n])指示结构体和联合成员的对齐方式。#pragma message(string)在编译信息输出窗口打印自己的文本信息。#pragma warning有选择地改变编译器的警告信息行为。#pragma once在头文件中添加这条指令可以防止头文件多次编译。
预处理过程其实就是在编译源程序之前先处理源文件中的各种预处理命令。编译器是不认识这些预处理指令的在编译之前需要先把这些预处理命令处理掉。预处理主要包括以下操作
头文件展开将 #include 包含的头文件内容展开到当前位置。宏展开展开所有的宏定义并删除 #define。条件编译根据宏定义条件选择要参与编译的分支代码其余的分支丢弃。删除注释。添加行号和文件名标识编译过程中根据需要可以显示这些信息。保留 #pragma 命令该命令会在程序编译时指示编译器执行一些特定行为。
使用如下命令仅执行预处理过程arm-linux-gnueabi-gcc -E main.c main.i