zoukankan      html  css  js  c++  java
  • 高质量C /C编程指南第1章 文件机关

    第1章 文件机关

    每个C /C步伐平居分为两个文件。一个文件用于生活生活步伐的声明(declaration),称为头文件。另一个文件用于生活生活步伐的完成(implementation),称为定义(definition)文件。

    C /C步伐的头文件以“.h”为后缀,C步伐的定义文件以“.c”为后缀,C 步伐的定义文件平居以“.cpp”为后缀(也有一些体系以“.cc”或“.cxx”为后缀)。

    1.1 版权和版本的声明

    版权和版本的声明位于头文件和定义文件的扫尾(参见示例1-1),重要内容有:

    (1)版权信息。

    (2)文件称号,标识符,择要。

    (3)当前版本号,作者/删改者,完成日期。

    (4)版本历史信息。

     

    /*

    * Copyright (c) 2001,上海贝尔无限公司网络应用事业部

    * All rights reserved.

    *

    * 文件称号:filename.h

    * 文件标识:见设置解决料理书

    * 摘    要:简明刻画本文件的内容

    *

    * 当前版本:1.1

    * 作    者:输入作者(或删改者)名字

    * 完成日期:2001年7月20日

    *

    * 代替版本:1.0

    * 原作者  :输入原作者(或删改者)名字

    * 完成日期:2001年5月10日

    */

     

    示例1-1 版权和版本的声明

    1.2 头文件的机关

    头文件由三部门内容构成:

    (1)头文件扫尾处的版权和版本声明(参见示例1-1)。

    (2)预措置惩罚块。

    (3)函数和类机关声明等。

    假定头文件称号为 graphics.h,头文件的机关参见示例1-2。

     

    l         【纪律1-2-1为了警觉头文件被重复援用,理应用ifndef/define/endif机关孕育发作预措置惩罚块。

    l         【纪律1-2-2用 #include <filename.h> 格式来援用规范库的头文件(编译器将从规范库目次入手入手搜索)。

    l         【纪律1-2-3用 #include “filename.h” 格式来援用非规范库的头文件(编译器将从用户的事情目次入手入手搜索)。

    ²        【倡导1-2-1头文件中只寄放“声明”而不寄放“定义”

    在C 语法中,类的成员函数可以在声明的同时被定义,而且主动成为内联函数。这当然会带来缮写上的方便,但却形成了风格不分譬喻,弊大于利。倡导将成员函数的定义与声明分隔隔绝分散,非论该函数体有多么小。

    ²        【倡导1-2-2不倡导运用全局变量,尽量不要在头文件中呈征象extern int value 这类声明。

     

    // 版权和版本声明见示例1-1,此处省略。

     

    #ifndef   GRAPHICS_H  // 警觉graphics.h被重复援用

    #define   GRAPHICS_H

     

    #include <math.h>     // 援用规范库的头文件


    #include “myheader.h”   // 援用非规范库的头文件


    void Function1(…);   // 全局函数声明


    >             // 类机关声明

    {


    };

    #endif

    示例1-2 C /C头文件的机关

     

    1.3 定义文件的机关

    定义文件有三部门内容:

    (1)       定义文件扫尾处的版权和版本声明(参见示例1-1)。

    (2)       对一些头文件的援用。

    (3)       步伐的完成体(包含数据和代码)。

    假定定义文件的称号为 graphics.cpp,定义文件的机关参见示例1-3。

     

    // 版权和版本声明见示例1-1,此处省略。

     

    #include “graphics.h”     // 援用头文件


     

    // 全局函数的完成体

    void Function1(…)

    {


    }

     

    // 类成员函数的完成体

    void Box::Draw(…)

    {


    }

    示例1-3 C /C定义文件的机关

    1.4 头文件的感染

    晚期的编程措辞如Basic、Fortran没有头文件的观见地,C /C措辞的初学者当然会用运用头文件,但常常不明其理。这里仇人文件的感染略作注解:

    (1)议决头文件来调用库成果。在良多场合,源代码方便(或不准)向用户宣布,只需向用户供给头文件和二进制的库即可。用户只需求依照头文件中的接口声明来调用库成果,而不用体恤接口怎样完成的。编译器会从库中提取照应的代码。

    (2)头文件能加强');规范平安查抄。假定某个接口被完成或被运用时,其体例与头文件中的声明不分譬喻,编译器就会指掉足误,这一巨大的纪律能大大加重步伐员调试、改错的负担。

    1.5 目次机关

    假定一个软件的头文件数目比拟多(如跨越十个),平居应将头文件和定义文件辨别生活生活于分譬喻的目次,以便于维护。

    譬喻可将头文件生活生活于include目次,将定义文件生活生活于source目次(可以是多级目次)。

    假定某些头文件是公有的,它不会被用户的步伐直接援用,则没有需求悍然其“声明”。为了加强');信息藏匿,这些公有的头文件可以和定义文件寄放于齐整个目次。



    版权声明: 原创作品,许愿转载,转载时请务必以超链接情势标明文章 原始来因 、作者信息和本声明。不然将究查执法责任。

  • 相关阅读:
    1836Alignment
    JS日期格式化
    excle自编公式方法
    excle的公式说明
    小技巧之一 string[]合并
    Nunit的使用小问题
    Ajax中上传文件的方式
    VSS也有BUG?
    SQL Server中将时间型的转为yyyyMMddhhmmss
    给已经存在的PDF文件加水印
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1974616.html
Copyright © 2011-2022 走看看