c - 关于#if defined(宏名)的问题
问题描述
#if defined(_WIN32)
#if !defined(_CRT_SECURE_NO_WARNINGS)
#define _CRT_SECURE_NO_WARNINGS
#endif
所以上面是某个项目文件中的前 4 行 C 语言代码。
我确实知道 #if defined (macro name) 意味着如果定义了宏,则表达式的值为 1,否则为 0。
所以基本上,前两行将是 1 或 0,但它们会做什么?1 还是 0 只是一个人坐着?
解决方案
它将defined()
被评估为0
or1
并且从该值if
将决定它是否应该进入正文。这就像正常的if
陈述。
推荐阅读
- python-3.x - 如果 selenium 无头运行,Cron 不会从 python 脚本输出任何内容
- java - 使用泛型类型实现接口
- akka - Akka 流:Alpakka 不使用多个 CPU 内核
- c++ - 计算从 1 到 n 的总设置位
- javascript - 如何在 ASP Classic (javascript) 中循环或访问对象集合?
- ssl - 如何在 GitLab-ci.yml 中运行 curl --retry 命令
- java - fhir.executeBundle 替换资源 id...如何防止这种情况?
- android - Android 在后台录制视频
- node.js - npm 错误!代码 EMFILE npm ERR!系统调用产生 git npm ERR!路径 git npm 错误!errno EMFILE npm 错误!生成 git EMFILE
- c - 分配给返回指针的分段错误