AFAIK,符号可用于防止多次解析.如果ah和bh都包含ch,a
#ifndef C_H
#define C_H
...
// c.h definition would go here
...
#endif
Run Code Online (Sandbox Code Playgroud)
将不止一次地阻止ch被"解析"(我相信这不是正确的词).
但是,我见过类似的东西
#ifdef WIN32
...
Run Code Online (Sandbox Code Playgroud)
在其他人的代码中.该符号必须已在其他地方定义,因为搜索
#define WIN32
Run Code Online (Sandbox Code Playgroud)
在整个项目中返回空.我的问题是:这些符号实际定义在哪里?操作系统是否保留了类似于不同程序可用于查询操作系统或其他进程属性的符号池的内容?
有两种选择,其中不在代码中的那些可以源自:
通常,这些定义不仅用于您描述的原因(包括保护),还用于根据您开发的平台启用或禁用代码 - 例如,您可以只为Windows编译代码分支,或者仅如果您使用的是64位编译器.
| 归档时间: |
|
| 查看次数: |
317 次 |
| 最近记录: |