打印
[其它应用]

#ifdef、#else、#endif和#ifndef的作用

[复制链接]
楼主: 豌豆爹
手机看帖
扫描二维码
随时随地手机跟帖
21
pl202| | 2024-4-7 10:15 | 只看该作者 回帖奖励 |倒序浏览
如果指定的宏已经被定义,那么随后的代码块会被编译器包含进来;如果没有定义,则忽略直到遇到 #else 或 #endif 的代码。

使用特权

评论回复
22
phoenixwhite| | 2024-4-7 12:08 | 只看该作者
与#ifdef或#ifndef配合使用,表示如果前面的条件不满足,那么#else后面的代码将被编译。

使用特权

评论回复
23
yorkbarney| | 2024-4-7 14:16 | 只看该作者
#ifndef:这个预处理指令与 #ifdef 相反,它检查一个宏是否没有被定义。如果指定的宏尚未定义,那么随后的代码块会被编译器包含进来;如果已经定义,则忽略直到遇到 #else 或 #endif 的代码。

使用特权

评论回复
24
febgxu| | 2024-4-7 16:10 | 只看该作者
#else:这个预处理指令与 #ifdef 或 #ifndef 配合使用,作为条件不满足时的备选分支。只有在前面的条件不满足时,才会编译 #else 后面的代码。

使用特权

评论回复
25
i1mcu| | 2024-4-7 18:02 | 只看该作者
如果指定的宏已被定义(通常是通过#define指令定义的),则编译器将编译位于#ifdef和相应#endif之间的代码段。否则,编译器将忽略此代码段。

使用特权

评论回复
26
timfordlare| | 2024-4-7 19:55 | 只看该作者
#ifdef: 这个指令检查是否定义了一个特定的宏(宏名)。如果该宏已定义,则执行 #ifdef 和与之配套的 #endif 指令之间的代码。这常用于在不同的编译环境中包含不同的代码片段,或者在调试版本和发布版本之间包含不同的定义。

使用特权

评论回复
27
nomomy| | 2024-4-7 21:55 | 只看该作者
#ifdef:检查某个宏是否被定义,如果被定义,则执行后续的代码。
#ifndef:检查某个宏是否未被定义,如果未被定义,则执行后续的代码。
#else:与#ifdef或#ifndef配合使用,当条件不满足时,执行#else后面的代码。
#endif:表示条件编译块的结束。

使用特权

评论回复
28
uytyu| | 2024-4-8 10:23 | 只看该作者
如果某个宏已经定义,那么#ifdef后面的代码将会被编译。如果该宏未定义,那么#ifdef后面的代码将被忽略。

使用特权

评论回复
29
maqianqu| | 2024-4-8 12:29 | 只看该作者
条件包含指令可以嵌套使用,但要注意层次清晰,避免逻辑混乱。
条件包含指令不会影响编译器的语法分析,它们只是文本替换工具。

使用特权

评论回复
30
jtracy3| | 2024-4-8 14:24 | 只看该作者
#ifdef 用于检查一个宏是否已经被定义。如果宏已经被定义,那么紧接在 #ifdef 后面的代码直到相应的 #endif 或 #else(如果存在)之前的代码都会被编译。

使用特权

评论回复
31
timfordlare| | 2024-4-8 16:17 | 只看该作者
这个指令与 #ifdef 或 #ifndef 配合使用。如果 #ifdef 检查的宏已定义,或者 #ifndef 检查的宏未定义,则执行 #else 和 #endif 之间的代码。#else 必须与 #ifdef 或 #ifndef 配对使用,否则预处理器会报错。

使用特权

评论回复
32
亚瑟| | 2024-4-23 14:43 | 只看该作者
这个可以把程序适应不同的平台

使用特权

评论回复
33
LLGTR| | 2024-4-25 01:52 | 只看该作者
这允许应用程序适应不同的平台

使用特权

评论回复
34
朝生| | 2024-5-9 23:26 | 只看该作者
预处理工作是在进行词法扫描和语法分析之前进行的编译

使用特权

评论回复
35
天天向善| | 2024-5-20 19:14 | 只看该作者
These instructions are typically used to handle cross-platform programming, debugging information output, conditional compilation, and so on。

使用特权

评论回复
36
Henryko| | 2024-5-22 09:52 | 只看该作者
用来做程序复用的吧

使用特权

评论回复
37
勇敢的大白菜| | 2024-5-23 10:25 | 只看该作者
查看汇编语言之后,就知道优缺点了。

使用特权

评论回复
38
嵌入小菜菜| | 2024-5-23 10:35 | 只看该作者
这个很好的知识贴,学习了。

使用特权

评论回复
39
看别人照片| | 2024-5-24 10:48 | 只看该作者
这种宏定义是最灵活多变的

使用特权

评论回复
40
亚瑟| | 2024-5-24 21:02 | 只看该作者
这个可以做不同芯片程序相兼容

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则