ANSI 标准C 还定义了如下几个宏
ANSI 标准C 还定义了如下几个宏:
_LINE_ 表示正在编译的文件的行号
_FILE_ 表示正在编译的文件的名字
预处理名称意义
#define 宏定义
#undef 撤销已定义过的宏名
#include 使编译程序将另一源文件嵌入到带有#include 的源文件中
#if #if 的一般含义是如果#if 后面的常量表达式为true,则编译它与#endif 之
间的代码,否则跳过这些代码。命令#endif 标识一个#if 块的结束。#else
命令的功能有点象C 语言中的else ,#else 建立另一选择(在# if 失败
的情况下)。#elif 命令意义与else if 相同,它形成一个if else-if 阶梯状
语句,可进行多种编译选择。
#else
#elif
#endif
#ifdef 用#ifdef 与#ifndef 命令分别表示“如果有定义”及“如果无定义”,是条
件编译的另一种方法。#ifndef
#line 改变当前行数和文件名称,它们是在编译程序中预先定义的标识符
命令的基本形式如下:
#line number["filename"]
#error 编译程序时,只要遇到#error 就会生成一个编译错误提示消息,并停止
编译
#pragma 为实现时定义的命令,它允许向编译程序传送各种指令例如,编译程序可
能有一种选择,它支持对程序执行的跟踪。可用#pragma 语句指定一个
跟踪选择。
_DATE_ 表示编译时刻的日期字符串,例如: "25 Dec 2007"
_TIME_ 表示编译时刻的时间字符串,例如: "12:30:55"
_STDC_ 判断该文件是不是定义成标准C 程序
如果编译器不是标准的,则可能仅支持以上宏的一部分,或根本不支持。当然编译器
也有可能还提供其它预定义的宏名。注意:宏名的书写由标识符与两边各二条下划线构成。
最新文章
- 【移动适配】移动Web怎么做屏幕适配(一)
- [转载]【基础篇】不为人知的Maya移动坐标轴
- QEMU-KVM中的多线程压缩迁移技术
- jQuery1.9.1--attr,prop与val方法源码分析
- 在WinForm中使用Web Service来实现软件自动升级
- 关于开源框架GPUImage 的简单说明
- Adding Pagination 添加分页
- Selenium 上传文件失败,解决办法一
- Elasticsearch短语搜索——match_phrase
- ubuntu下无法编译ruby-2.1.5提示something wrong with CFLAGS -arch x86_64
- 4.13Python数据处理篇之Matplotlib系列(十三)---轴的设置
- tinyxml2使用
- xdoj新生现场赛1269——带有限制条件的bfs 寻找最短路径
- Node.js使用UDP通讯
- Linux上常用的基本命令
- 【转载】chmod命令详解
- 什么是maven,jar包的查找过程?
- 科学计算三维可视化---TraitsUI(配置视图)
- C语言自问自答
- 成都Uber优步司机奖励政策(2月26日)