【请阅】基础篇:C/C++头文件管理

【知识点1】#include“.h”与#include <.h>的区别

  1. 使用”.h”
    使用“.h”意味编译器首先查找当前的工作目录或源代码目录(或其他目录,这取决于编译器)。如果没有在那里找到头文件,则将在标准位置查找。
  2. 使用<.h>
    表明编译器将在存储标准头文件的主机系统的文件系统中查找。
  3. 结论
    在包含自己的头文件时,应使用引号而不是尖括号

【知识点2】头文件管理

  1. 背景
    在同一个文件中只能将同一个头文件包含一次。关键是:在不知情的情况下,很可能将头文件包含多次。如使用包含了另外一个头文件的头文件。

  2. 解决办法
    【请使用】预处理编译器指令#ifndef和#endif
    【代码示例】

    
    #ifndef COORDIN_H_
    
    
    #define COORDIN_H_
    
    //place include file contents here
    
    #endif
    
  3. 编译流程
    编译器首次遇到该文件时,名称COORDIN_H__(命名以下划线命名不容易重名)没有定义,在这种情况下,编译器将查看#ifndef#endif之间的内容,并读取COORDIN_H_的一行。如果在同一个文件中遇到其他包含coordin.h的代码,编译器将知道COORDIN_H_已经被定义了,从而跳到#endif后面的一行上。

  4. 注意点
    这种方法并不能防止编译器将文件包含两次,而只是让它忽略除第一次包含之外的所有内容。大多数情况下都是使用这种防护方案,否则可能在一个文件中定哟同一个文件结构2次,这将导致编译错误❌。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值