[C]ANSI C中有哪些预处理指令?
clem
posted @ 2009年4月05日 00:29
in Language
, 2497 阅读
1,文件包含
#include
2,宏替换
#define //定义某宏
#undef //取消某宏的定义
# //用来标识参数用作字符串
## //用来连接参数
3,条件包含
#if
#else
#elif
#endif
#ifdef
#ifndef
defined(name)是一个ANSI C中的一个表达式,用做#if的conditional expression,那为什么有了#ifdef,#ifndef还有用defined()呢?原因就在下面。
/* 只有一个判断 */
#ifndef PAGE_SIZE
#define PAGE_SIZE 4096
#endif
/* 有两个或两个以上的判断 */
#if !defined(PAGE_SIZE) && defined(BLOCK_SIZE)
#define PAGE_SIZE 4096
#endif
#ifndef PAGE_SIZE
#define PAGE_SIZE 4096
#endif
/* 有两个或两个以上的判断 */
#if !defined(PAGE_SIZE) && defined(BLOCK_SIZE)
#define PAGE_SIZE 4096
#endif
2009年4月13日 02:27
少了点吧?最近正想看看这个~~当初没好好看
2009年4月21日 09:28
用到的才是知识,写很多也记不住,呵呵。