Ром*_*тев 1 c optimization comments header-files c-preprocessor
如果文件以注释开头,C编译器是否缓存头文件并仅解析一次?
// Some comment
#ifndef HEADER_GUARD
#define HEADER_GUARD
#endif
Run Code Online (Sandbox Code Playgroud)
问题是关于编译器,它可以缓存标题,不会多次解析它们.
是的,这个优化已经完成.gcc在此明确记录:https://gcc.gnu.org/onlinedocs/cppinternals/Guard-Macros.html
基本上,如果你有一个写得很好的包含守卫,gcc将不会触及标题两次.并且包含保护之外的注释不会停止优化(否则在几乎所有开源头文件之前的所有许可注释都是毫无价值的).
| 归档时间: |
|
| 查看次数: |
97 次 |
| 最近记录: |