预处理是在编译之前的处理,而编译工作的任务之一就是语法检查,预处理不做语法检查。预处理命令以符号“#”开头。 常用的预处理指令包括:宏定义:#define文件包含:#include条件编译:#if、#elif、#ifndef、#ifdef、#endif、#undef错误信息指令:#error#...
分类:
编程语言 时间:
2014-11-11 00:42:22
阅读次数:
363
主要内容:预处理命令细节#error、运算符#和##、__FILE__、__LINE__
#include /* 包含这个头文件,并不是将其所有函数都链接进程序*/
/* ##运算符 */
#define MK_ID(n) i##n /* 表示将两个记号连接 */
int MK_ID(1), MK_ID(2),MK_ID(3); /* 预处理后变成int i1,i2,i3;*...
分类:
编程语言 时间:
2014-11-09 01:08:51
阅读次数:
301
在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器.....
分类:
编程语言 时间:
2014-11-06 14:28:54
阅读次数:
1652
C/C++嵌入式开发面试题预处理器(Preprocessor)1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语...
分类:
编程语言 时间:
2014-11-06 14:20:33
阅读次数:
193
一、基本概念其实我们早就有接触文件包含这个指令了, 就是#include,它可以将一个文件的全部内容拷贝另一个文件中。二、一般形式1.第1种形式#include 直接到C语言库函数头文件所在的目录中寻找文件2.第2种形式 #include "文件名"系统会先在源程序当前目录下寻找,若找不到,再到操作...
分类:
其他好文 时间:
2014-11-01 20:28:50
阅读次数:
191
预处理指令简介1.C语言在对源程序进行编译之前,会先对一些特殊的预处理指令作解释(比如之前使用的#include文件包含指令),产生一个新的源程序(这个过程称为编译预处理),之后再进行通常的编译2.为了区分预处理指令和一般的C语句,所有预处理指令都以符号"#"开头,并且结尾不用分号3.预处理指令可以...
分类:
其他好文 时间:
2014-11-01 09:43:36
阅读次数:
356
预处理器(Preprocessor)
1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
我在这想看到几件事情:
1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)
2). 懂得预处理器将为你计算常数表达式的值,因此,直接...
分类:
其他好文 时间:
2014-10-31 17:22:36
阅读次数:
208
预处理指令#error多用于检查编译时的错误,可以提供一种编译时报错机制。当预处理器预处理到#error命令时将停止编译并输出用户自定义的错误消息。格式如下:token-string是用户自定义的错误消息。#error token-string 通常#error用于检查比较严重的错误,影响到实际代码...
分类:
其他好文 时间:
2014-10-30 22:32:34
阅读次数:
314
一:typedef 作用:可以给一个已经存在的数据类型取一个别名 格式:typedef 原数据类型 新类型 例如:typedef int INT; 预处理指令#define 也可以给数据类型取别用用法: #define INT int;//1、用在基本数据类型上 int a = 10; ...
分类:
编程语言 时间:
2014-10-26 22:40:07
阅读次数:
154
1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,仅仅有在编译已被展开的源程序时才会发现可能的错误并报错。比如: #define PI 3.1415926 程序中的:area=PI*r*r 会替换为3.1415926*r*r 假设你把#defi...
分类:
其他好文 时间:
2014-10-19 18:19:58
阅读次数:
211