1.#和##
#和##操作符是和#define宏使用的。
使用#,使在#后的首个参数返回为一个带引号的字符串
例如:
#defineto_string(s) #s
#defineconcatenate(x,y) x##y
2.#define命令用于把指定字符串替换文件中的宏名称
3.#error
可以简单的使编译器在发生错误时停止,当遇到一个#error时,编译器会自动输出行号,无论message的内容,本命令大多用于调试。
4.#if,
#ifexpression
如果表达式(expression)的值是"真"(true),那么,紧随该命令的代码会被编译
#ifdefmacro
如果macro在#define中声明那么,紧随该命令的代码将会被执行
#ifndef macro与上面的相反
#else 和 #elif 就不用解释了吧
#endif结束
5.#include
语法:
#include<filename>
#include"filename"
在尖括号中意味着,编译器不知道如何搜索该文件,在尖括号中的一般是在标准库目录中搜索;
在引号中的意味着,可以做简单的搜索,一般是在本地目录中的。
6.#line
用于更改_LINE_和_FILE_变量的值,文件名是可选的_FILE_和_LINE_描述被读取的当前文件和行
#line 10 "main.cpp" 更改当前行号为10,当前文件改为"main.cpp"
7.#pragma
#pragma命令可以让编程者让编译器执行某些事.因为#pragma命令的执行很特殊,不同的编译器使用有所不同. 一个选项可以跟踪程序的执行.
8.undef
取消#define