头文件中的ifndef/define/endif干什么用
时间: 2023-12-08 09:06:50 浏览: 126
头文件中的#ifndef/#define/#endif用于避免头文件的重定义。在一个大的软件工程中,可能会有多个文件同时包含一个头文件,当这些文件编译链接成一个可执行文件时,就会出现大量重定义的错误。为了解决这个问题,可以在头文件的开头使用#ifndef和#define来定义一个唯一的标识符,然后在头文件的结尾使用#endif来结束。当第一次包含头文件时,由于标识符未定义,条件为真,头文件中的代码会被包含。当第二次及后续的文件包含同一个头文件时,由于标识符已经定义,条件为假,头文件中的代码不会再次被包含,从而避免了重定义的错误。这种用法主要用于防止重复定义宏和重复包含头文件。\[1\]\[2\]\[3\]
#### 引用[.reference_title]
- *1* [头文件中ifndef/define/endif的作用](https://blog.csdn.net/microlyc/article/details/78336926)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [#ifndef、#define、#endif作用](https://blog.csdn.net/Enochzhu/article/details/126001609)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [面试题5:头文件中的ifndef/define/endif有什么作用?](https://blog.csdn.net/wangdd_199326/article/details/81324804)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文