`

#ifndef意义

阅读更多

文件中的#ifndef
头件的中的#ifndef,这是一个很关键的东西。比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成一个可运行文件,于是问题来了,大量的声明冲突。
还是把头文件的内容都放在#ifndef和#endif中吧。不管你的头文件会不会被多个文件引用,你都要加上这个。一般格式是这样的:
#ifndef <标识>
#define <标识>

#endif
< 标识>在理论上来说可以是自由命名的,但每个头文件的这个“标识”都应该是唯一的。标识的命名规则一般是头文件名全大写,前后加下划线,并把文件名中的“.”也变成下划线

分享到:
评论

相关推荐

    ifndef 的用法

    1. **标识符的选择**:为了避免不同头文件之间标识符的冲突,建议使用具有明确意义且独特的标识符。通常的做法是将头文件名转换为大写,并使用下划线代替点号,例如 `my_file.h` 对应的标识符可以是 `MY_FILE_H`。 ...

    CC++常见标准头文件前的一般格式解析2

    本文将深入探讨头文件中常见的预处理指令及其意义,并着重讨论`extern "C"`的作用。 #### 头文件防重复包含 在C/C++开发中,一个常见的问题是头文件可能会被多次包含,导致编译器报告重复定义的错误。为了避免这种...

    如何写C语言的头文件

    #### 四、C语言头文件中的下划线意义 在C语言中,下划线通常用于变量或宏名的前缀,这主要是为了区分用户自定义的标识符和系统保留的标识符。例如,系统函数和变量通常以下划线开头,以避免与用户的标识符冲突。...

    C的头文件说明与使用 超棒!

    3. **遵循命名规范**:使用有意义的名称为头文件命名,同时遵循项目的命名约定,增强代码的可读性。 #### 实战案例分析 假设我们有一个大型项目,其中包含数千个函数,为了更好地管理和组织这些函数,我们可以创建...

    Neuron C编写的小区安防程序

    从给定的文件信息来看,我们正在探讨一个使用Neuron C编程语言编写的小区安防系统应用程序。...对于嵌入式系统开发者而言,理解Neuron C的编程技巧和最佳实践对于构建高性能的物联网应用具有重要意义。

    微动嵌入式培训讲义-C语言程序设计强化课件(一).pdf

    - 使用有意义的名字而非简单的字母数字组合。 #### 第4章 表达式和基本语句 这部分内容涉及到C语言的基础语法,包括各种表达式的使用、条件语句、循环语句等,这些都是构建复杂程序的基础。 #### 第5章 常量 ...

    #define——用法大全

    #define 指令是 C 语言中的一种预处理指令,用于给常量赋予一个有意义的名称。在本文中,我们将详细介绍 #define 指令的用法、实例和注意事项。 定义 ---- #define 指令的基本语法有两种形式: ```c #define ...

    c语言条件编译详解

    宏定义允许在程序中使用更具有意义的符号名称,提高了代码的可读性和可维护性。 #### 五、条件编译指令 条件编译指令允许程序员基于预设条件来决定哪些代码应该被编译。常见的条件编译指令包括: - `#if ...

    C, GNUC GCC 预处理《The C Preprocessor》

    词法分析是预处理器将输入的源代码分解成一系列有意义的符号(称为“token”)的过程。这些符号可以是关键字、标识符、常量、运算符等。词法分析是预处理器工作的基础,它为语法分析和后续的编译步骤提供必要的信息...

    #if,#endif,!defined的意义和用法

    defined 的意义与用法详解 在编程中,预处理器指令是一种非常实用且强大的工具,特别是在 C 和 C++ 这样的编程语言中。本文将详细介绍 `#if`、`#endif` 以及 `!defined` 的含义与用法。 #### 一、`#if` 和 `#endif...

    C语言优秀编程风格,很实用的

    - **描述性命名**:使用具有实际意义的名称,避免使用如`dd`、`yanshi`这样的无意义命名。 - **大小写约定**:可以使用下划线(如`delay_100us`)或驼峰式(如`delay100Us`)来区分单词。 - **长度适中**:名称不应...

    C++入门经典

    #### 包含头文件的意义 - **代码复用**:通过在多个源文件中包含同一个头文件,可以避免重复编写相同的代码。 - **接口定义**:头文件提供了一个清晰的接口,允许其他部分的代码使用这些定义,而无需了解其实现细节...

    VC预处理手册

    - **条件编译**:使用`#if`、`#ifdef`、`#ifndef`等指令根据不同的条件选择性地编译源代码。 - **文件包含**:利用`#include`指令将其他文件的内容嵌入当前文件。 - **错误信息指示**:当源代码中存在无法解决的问题...

    C 语言C++语言标准库

    ### C/C++ 语言标准库知识点详解 #### 预处理命令 预处理命令是C/C++编程语言中的一种特殊语法结构,它们在程序实际编译之前被...以上知识点涵盖了C/C++标准库中的关键组件,对于学习和掌握这两种语言具有重要意义。

    c++软件开发规范.pdf

    - 命名应清晰、一致且有意义,避免使用模糊的缩写。 - 变量名、函数名通常使用小写字母,多个单词间用下划线分隔(驼峰命名法也可接受)。 - 类名首字母大写,每个单词首字母大写(PascalCase)。 6. **注释规范...

    51单片机pwm驱动函数

    #ifndef _PWM_TRAVELER_H_ #define _PWM_TRAVELER_H_ #define _PWM_EN_1_ 0x01 //允许电机M1 #define _PWM_EN_2_ 0x80 //允许电机M2 #define _PWM_EN_B_ 0x81 //允许双电机 #define _PWM_EN_N_ 0x00 //禁止...

    SPT-C语言基础-编写自己的库文件.pdf

    本篇讨论的是如何在C语言中编写自己的库文件,这对于提高代码复用性和项目管理具有重大意义。 首先,我们需要理解函数的作用域。在C语言中,函数的作用域从声明点开始,一直延伸到源程序文本的结束。这意味着在一个...

    C语言格式书写规范

    - **预处理指令**:使用`#ifndef/#define/#endif`结构来防止头文件被重复引用。 - **引用标准库头文件**:使用`#include &lt;filename.h&gt;`格式。 - **引用非标准库头文件**:使用`#include "filename.h"`格式。 示例:...

Global site tag (gtag.js) - Google Analytics