美文网首页
预处理命令

预处理命令

作者: Elena_li | 来源:发表于2016-03-10 17:48 被阅读53次

预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。

程序设计语言的预处理的概念:在编译之前进行的处理。 C语言的预处理主要有三个方面的内容: 1.宏定义; 2.文件包含; 3.条件编译。 预处理命令以符号“#”开头。 来自百度词条

指令        用途

#          空指令,无任何效果

#include   包含一个源代码文件

#define    定义宏

#undef     取消已定义的宏

#if        如果给定条件为真,则编译下面代码

#ifdef     如果宏已经定义,则编译下面代码

#ifndef    如果宏没有定义,则编译下面代码

#elif      如果前面的#if给定条件不为假,当前条件为真,则编译下面代码

#endif     结束一个#if……#else条件编译块

#error     停止编译并显示错误信息

#else               

#error     指令将使编译器显示一条错误信息,然后停止编译。

#line      指令可以改变编译器用来指出警告和错误信息的文件号和行号。

#pragma    指令没有正式的定义。编译器可以自定义其用途。典型的用法是禁止或允许某些烦人的警告信息。

1、宏定义
#define

2、文件包含

#include

3、条件编译,就是关于#ifdef,#ifndef,#else,#endif,#if等的用法。

#ifdef A

NSLog(@"A已经定义过了:%@",A);

#else

NSLog(@"A还未被定义");

#endif
#define B @"elena"

#ifdef B

NSLog(@"B已经定义可:%@",B);

#else

NSLog(@"B还未被定义",B);

#endif
#ifndef C

NSLog(@"C还未被定义");

#else

NSLog(@"可以在此处定义C");

#endif
#if 1

NSLog(@"D为非零值(为真)");

#else

NSLog(@"if后面的常量为0值就执行该代码段");

#endif
#if 0

#elif 1

NSLog(@"if后面的条件为假当前elif条件为真,执行这句");

#endif

相关文章

  • C++预处理程序命令及名空间使用

    一、预处理程序命令简介 预处理程序命令是以“#”开头并占用一整行的命令,预处理命令位于程序的开始,供编译程序的预处...

  • C语言学习之八——预处理

    预处理在C语言中,以“#”号 开头的是预处理命令。例如,如包含命令#include ,宏定义 命令#define...

  • makefile

    makefile 借此机会重新复习下gcc编译条件命令 -E 预处理命令 生成 .i 预处理的原始程序    -...

  • 编写高质量iOS代码(四)

    多用类型常量,少用#define预处理命令 我们写个动画预处理命令如下,会把源代码中的ANIMATION_DURA...

  • 类型常量 #define预处理命令

    非作者原著 来自摘抄 参考文献 J_Knight_ 类型常量 #define预处理命令 区别 预处理命令 简单的文...

  • 预处理命令

    ANSI C标准规定可以在C源程序中加入一些“预处理命令”(Preprocessor directives),以改...

  • 预处理命令

    C语言的执行流程 c语言执行分为三步编译:编译成目标代码(.obj)链接:将目标代码与C函数库连接合并,形成最终的...

  • 预处理命令

    预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间...

  • C 语言编译流程

    C语言编译四个阶段: 预处理、编译、汇编、链接。 预处理阶段:预处理器cpp根据字符#开头的命令,修改C程序。通常...

  • 谈谈 include

    我们知道C的整个编译过程由预处理,编译,链接三个步骤组成。include命令是在预处理阶段解析的。而预处理阶段只是...

网友评论

      本文标题:预处理命令

      本文链接:https://www.haomeiwen.com/subject/pwmtlttx.html