zoukankan      html  css  js  c++  java
  • 关于头文件

    1. 程序可以分为三部分:

    • 头文件:包含结构声明和使用这些结构的函数的原型
    • 源代码文件:包含与结构有关的函数的代码
    • 源代码文件:包含调用与结构相关的函数的代码

    2. 头文件中常包含的内容:

    • 函数原型(声明)
    • 使用#define或const定义的符号常量(被声明为const的数据为内部链接)
    • 结构声明
    • 类声明
    • 模板声明
    • 内联声明(一个程序中可以有个源文件包含同一个内联函数定义)

    3. #include

    • #include<> 用于包含标准头文件,例如:#include<iostream> 因为<>使得C++编译器在存储标准头文件的主机系统的文件系统中查找(或其他目录)
    • #include"" 用于包含自己定义的头文件  如果文件名包含在双引号中,则编译器将首先查找当前的工作目录或源代码目录。若未找到,则在标准位置查找

    4. 包含头文件需遵循的原则

    在同一个文件中只能将同一个头文件包含一次。

    大多数标准C或C++头文件使用以下防护方案。否则,可能在一个文件中定义同一个结构两次,将导致编译错误

    coordin.h
    
    #ifndef COORDIN_H_
    
    #define COORDIN_H_
    
    ....
    
    #endif

    5. 关于链接

    将源代码和头文件一起编译和链接,可以生成一个可执行文件。

    C++标准使用了术语翻译单元,而不是文件。也就是,两个编译器将为同一个函数生成不同的修饰名称,名称不同使链接器无法将一个编译器生成的函数与另一个编译器生成的函数定义匹配。所以在链接编译模块时,需要保证所有对象文件或库都是由同一个编译器生成的,否则,会出现链接错误。

  • 相关阅读:
    人与人之间的本质
    如何让百度搜索不到
    js.prototype最深刻的理解
    调用函数不能用&
    浏览器的缓存就是关闭了浏览器任然存在
    Spring switch的使用
    thymeleaf如何遍历数据 each循环的使用
    spring 机制 扫描包
    Spring分层次建包
    如何使用thymeleaf显示控制传递过来的数据
  • 原文地址:https://www.cnblogs.com/deerfig/p/11915457.html
Copyright © 2011-2022 走看看