头文件保护是一种预处理器指令模式,用于保护头文件免受多次包含的影响。头文件保护将整个代码内容包裹在#ifndef (#if !defined 或其他类似) 块中:

#ifndef MY_HEADER_H
#define MY_HEADER_H
    //...
#endif

编辑头文件模板

默认情况下,头文件保护已包含在文件模板中,用于指定新头文件的初始内容。如果您决定使用#pragma once而不是头文件保护,则可以编辑这些模板。要进行此操作,请转到"Settings | Editor | File and Code Templates",然后打开"Files"选项卡。从列表中选择"C Header File"或"C++ Class Header",并更改模板内容:

1.png

注意使用#pragma once包裹的字面语法。对于文件模板,CLion使用Apache Velocity语言,需要对C/C++预处理器指令进行转义,以便正确解析它们。

配置头文件保护符号

  • 头文件保护符号(如上面示例中的MY_HEADER_H)应该是唯一的,因此通常与文件名相关。要配置头文件保护符号的模式,请在"Settings | Editor | Code Style | C/C++"中的"Naming Convention"选项卡中打开"Header Guard"字段,并在其中指定模板:
    2.png
  • 您可以使用各种预定义变量,例如:

    • ${PROJECT_NAME} - 当前项目的名称。
    • ${PROJECT_REL_PATH} - 相对目标路径。例如,如果项目位于prj目录中,目标文件是prj/src/dir/header.h,那么${PROJECT_REL_PATH}将等于src/dir
    • ${FILE_NAME} - 目标文件名(不带扩展名)。
    • ${EXT} - 目标文件扩展名。
    • 在文件模板变量中可以找到的其他变量,例如${USER}${DATE}

有效的头文件保护符号可以包含以下字符:大写字母 'A-Z' 和小写字母 'a-z',下划线_,数字(但不能以数字开头),以及美元符号$。请注意,CLion会在以数字开头的符号前添加INC_前缀,并使用INC_${UUID}模式替换无效的符号。

  • 配置的符号会替换头文件模板中的${INCLUDE_GUARD}变量。当创建新的C/C++类和头文件时,CLion将应用此模式。另外,如果您重命名一个类或文件,与当前配置的样式匹配的头文件保护符号将被更新为新名称:
    3.png

标签: clion破解, clion破解教程, clion教程, clion基础教程, clion高级教程, clion核心教程, clion免费激活码, clion免费注册码, clion注册码在线生成, clion激活