diff --git a/journal/2022/W44/Halo 主题 Redemption 首发版.md b/blog/Halo 主题 Redemption 首发版.md similarity index 100% rename from journal/2022/W44/Halo 主题 Redemption 首发版.md rename to blog/Halo 主题 Redemption 首发版.md diff --git a/wiki/programming-language/C++/基本语法.md b/wiki/programming-language/C++/基本语法.md index 5c122907..775a520a 100644 --- a/wiki/programming-language/C++/基本语法.md +++ b/wiki/programming-language/C++/基本语法.md @@ -55,7 +55,7 @@ enum color { red, green=5, blue }; 在 C++ 中,有两种简单的定义常量的方式: -- 使用 **#define** 预处理器。 +- 使用 `#define` 预处理器。 - 使用 **const** 关键字。 #### 实例 diff --git a/wiki/programming-language/C/预处理器.md b/wiki/programming-language/C/预处理器.md index 8ea73cd5..d03a0186 100644 --- a/wiki/programming-language/C/预处理器.md +++ b/wiki/programming-language/C/预处理器.md @@ -17,7 +17,7 @@ C 语言编译器在编译程序之前,会先使用预处理器(preprocessor 所有预处理指令都是一行的,除非在行尾使用反斜杠,将其折行。指令结尾处不需要分号。 -## #define +## `#define` `#define`是最常见的预处理指令,用来将指定的词替换成另一个词。它的参数分成两个部分,第一个参数就是要被替换的部分,其余参数是替换后的内容。每条替换规则,称为一个宏(macro)。 @@ -246,7 +246,7 @@ X(5, 4, 3.14, "Hi!", 12) printf("%s\n", X(1,2,3)); // Prints "1, 2, 3" ``` -## #undef +## `#undef` `#undef`指令用来取消已经使用`#define`定义的宏。 @@ -267,7 +267,7 @@ gcc -ULIMIT foo.c 上面示例中的`-U`参数,取消了宏`LIMIT`,相当于源文件里面的`#undef LIMIT`。 -## #include +## `#include` `#include`指令用于编译时将其他源码文件,加载进入当前文件。它有两种形式。 @@ -297,7 +297,7 @@ gcc -Iinclude/ -o code code.c `#include`最常见的用途,就是用来加载包含函数原型的头文件(后缀名为`.h`),参见《多文件编译》一章。多个`#include`指令的顺序无关紧要,多次包含同一个头文件也是合法的。 -## #if...#endif +## `#if...#endif` `#if...#endif`指令用于预处理器的条件判断,满足条件时,内部的行会被编译,否则就被编译器忽略。 @@ -362,7 +362,7 @@ gcc -DDEBUG=1 foo.c 上面示例中,`-D`参数指定宏`DEBUG`为`1`,相当于在代码中指定`#define DEBUG 1`。 -## #ifdef...#endif +## `#ifdef...#endif` `#ifdef...#endif`指令用于判断某个宏是否定义过。 @@ -446,7 +446,7 @@ gcc -DDEBUG=1 foo.c 上面示例中,不同架构的系统需要定义对应的宏。代码根据不同的宏,加载对应的头文件。 -## #ifndef...#endif +## `#ifndef...#endif` `#ifndef...#endif`指令跟`#ifdef...#endif`正好相反。它用来判断,如果某个宏没有被定义过,则执行指定的操作。 @@ -518,7 +518,7 @@ C Version: 201710 */ ``` -## #line +## `#line` `#line`指令用于覆盖预定义宏`__LINE__`,将其改为自定义的行号。后面的行将从`__LINE__`的新值开始计数。 @@ -537,7 +537,7 @@ C Version: 201710 上面示例中,下一行的行号重置为`300`,文件名重置为`newfilename`。 -## #error +## `#error` `#error`指令用于让预处理器抛出一个错误,终止编译。 @@ -578,7 +578,7 @@ newish.c:14:2: error: #error Not C11 #endif ``` -## #pragma +## `#pragma` `#pragma`指令用来修改编译器属性。