博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C预处理器标识
阅读量:4073 次
发布时间:2019-05-25

本文共 536 字,大约阅读时间需要 1 分钟。

C预处理器标识:

     指令                          用途

     #                  空指令,无任何效果
     #include        包含一个源代码文件
     #define         定义宏
     #undef          取消已定义的宏
     #if                如果给定条件为真,则编译下面代码
     #ifdef            如果宏已经定义,则编译下面代码
     #ifndef          如果宏没有定义,则编译下面代码
     #elif             如果前面的#if给定条件不为真,当前条件为真,则编译下面代码
     #endif           结束一个#if……#else条件编译块
     #error           停止编译并显示错误信息

 

attention

     编译程序时,只要遇到 #error 就会跳出一个编译错误,既然是编译错误,要它干嘛呢?目的就是保证程序是按照你所设想的那样进行编译的.程序中往往有很多的预处理指令

     #ifdef XXX
       ...
     #else

     #endif

     当程序比较大时,往往有些宏定义是在外部指定的(如makefile),或是在系统头文件中指定的,当你不太确定当前是否定义了 XXX 时,就可以改成如下这样进行编译:

     #ifdef XXX

       ...
     #error "XXX has been defined"

     #else

     #endif

     这样,如果编译时出现错误,输出了XXX has been defined,表明宏XXX已经被定义了.

转载地址:http://vawni.baihongyu.com/

你可能感兴趣的文章
大数据入门:Scala函数式编程
查看>>
【数据结构周周练】002顺序表与链表
查看>>
C++报错:C4700:使用了非初始化的局部变量
查看>>
【数据结构周周练】003顺序栈与链栈
查看>>
C++类、结构体、函数、变量等命名规则详解
查看>>
C++ goto语句详解
查看>>
【数据结构周周练】008 二叉树的链式创建及测试
查看>>
《软件体系结构》 第九章 软件体系结构评估
查看>>
《软件体系结构》 第十章 软件产品线体系结构
查看>>
《软件过程管理》 第六章 软件过程的项目管理
查看>>
《软件过程管理》 第九章 软件过程的评估和改进
查看>>
分治法 动态规划法 贪心法 回溯法 小结
查看>>
《软件体系结构》 练习题
查看>>
《数据库系统概论》 第一章 绪论
查看>>
《数据库系统概论》 第二章 关系数据库
查看>>
《数据库系统概论》 第三章 关系数据库标准语言SQL
查看>>
SQL语句(二)查询语句
查看>>
SQL语句(六) 自主存取控制
查看>>
《计算机网络》第五章 运输层 ——TCP和UDP 可靠传输原理 TCP流量控制 拥塞控制 连接管理
查看>>
堆排序完整版,含注释
查看>>