是否可以在 C 中定义关键字
Is it possible to define keywords in C
我正在看HarmonyOS的源码,遇到一个问题。在图像中我知道函数没有 return 任何东西,但是 LITE_OS_SEC_TEXT 部分是什么?我以前没见过这个关键字,或者它甚至是像 STATIC 或 typedef 这样的关键字。如果是这样,您如何在 C 中定义关键字?
应该是宏吧。您应该在包含的头文件中查找它的定义。
You can read about macros here.
how do you define a keyword in C?
你不知道。不可能的。
你能做的就是使用宏。它们基本上只是高级文本替换。预处理器在编译器之前运行。也就是说,原则上。在现代编译器上,它们同时是 运行,但行为是相同的。
如果想看预处理器后的源代码,可以给编译器使用-E
参数。
这里是一个如何让 C 代码更像 Pascal 的例子。不要这样做!只是为了好玩!
#include <stdio.h>
#define Begin {
#define End ;}
#define Writeln(X) puts(X)
int main(void)
Begin
Writeln("Hello, World!");
Writeln("Hello again")
End
我正在看HarmonyOS的源码,遇到一个问题。在图像中我知道函数没有 return 任何东西,但是 LITE_OS_SEC_TEXT 部分是什么?我以前没见过这个关键字,或者它甚至是像 STATIC 或 typedef 这样的关键字。如果是这样,您如何在 C 中定义关键字?
应该是宏吧。您应该在包含的头文件中查找它的定义。 You can read about macros here.
how do you define a keyword in C?
你不知道。不可能的。
你能做的就是使用宏。它们基本上只是高级文本替换。预处理器在编译器之前运行。也就是说,原则上。在现代编译器上,它们同时是 运行,但行为是相同的。
如果想看预处理器后的源代码,可以给编译器使用-E
参数。
这里是一个如何让 C 代码更像 Pascal 的例子。不要这样做!只是为了好玩!
#include <stdio.h>
#define Begin {
#define End ;}
#define Writeln(X) puts(X)
int main(void)
Begin
Writeln("Hello, World!");
Writeln("Hello again")
End