跳至内容

编程基础/使用头文件进行用户定义的特定任务函数

来自维基教科书,开放的书籍,开放的世界

C++ 编程语言中用户库的创建概念和示例。

概念:用户定义的特定任务函数

[编辑 | 编辑源代码]

大多数公司都有一些对公司独有的任务。编程人员可能会集体决定构建多个函数并将它们组织到一个或多个用户库中。特定任务函数通常使用测试外壳程序构建。测试外壳程序的唯一目的是创建特定任务函数并对其进行测试,以确保它们正常工作。想象一下一个蛤蜊,它的贝壳包围着重要的部分,珍珠。测试外壳程序包围着特定任务函数(重要的部分)。通常,测试外壳程序将用于创建多个函数,这些函数将被放置到用户定义的库中。该过程如下所示

  1. 构建并彻底测试包含特定任务函数的测试外壳程序。
  2. 测试外壳程序源代码的副本被保存为头文件,该头文件在修改后将被放置到用户库中。您将删除程序的主要部分,留下一个注释区域、任何需要的包含文件引用和特定任务函数。

测试外壳程序源代码的另一个副本被保存为原型文件。这是一个文本文件,仅保留放置到头文件中的函数的原型。这些函数应该使用有意义的标识符名称,因此原型应该为其他人提供有关如何使用适当的参数传递来调用函数的充分信息。

测试外壳程序源代码的另一个副本被保存为验证头程序。您将删除函数原型和定义,然后提供指向头文件的包含。编译并运行此程序以确保头文件正常工作。

要理解这个概念,最好是回顾一下上面描述的四个文件,这些文件是由程序员创建的。我们将使用 C++ 编程语言,但代码易于理解,并且可以很好地解释这些概念;即使您不熟悉 C++。

使用 C++ 演示

[编辑 | 编辑源代码]

为四个文件创建文件夹或子文件夹

[编辑 | 编辑源代码]

根据您的编译器/IDE,您应该决定在哪里下载和存储用于处理的源代码文件。谨慎的做法是在下载源代码文件之前,根据需要创建这些文件夹。Bloodshed Dev-C++ 5 编译器/IDE 的一个建议子文件夹可能名为

  • Monitor_Header

如果您还没有这样做,请根据需要创建文件夹和/或子文件夹。

下载四个文件

[编辑 | 编辑源代码]

将以下文件下载到您的存储设备的相应文件夹中。您可能需要右键单击一些链接并选择“目标另存为”才能下载一些文件。

从 Connexions 下载: Monitor_Testing_Shell.cpp

从 Connexions 下载: udst_monitor.h

从 Connexions 下载: udst_monitor_prototypes.txt

从 Connexions 下载: Monitor_Verify_Header.cpp

集体研究这些文件以理解概念

[编辑 | 编辑源代码]

花几分钟时间结合上面的概念讨论,回顾一下这些文件。您应该编译并运行 Monitor_Testing_Shell.cpp 程序。

为您的用户库创建文件夹或子文件夹

[编辑 | 编辑源代码]

根据您的编译器/IDE,您应该决定在哪里创建一个文件夹来保存您创建的头文件。我们建议您在编译器/IDE 软件中创建该文件夹。如果您使用的是 Bloodshed Dev-C++ 5 编译器/IDE,您很可能在以下位置安装了编译器/IDE 软件:C:\Dev-Cpp\(如果您将其安装在您的机器上)或:DriveLetter:\Dev-Cpp\(其中 DriveLetter 表示您的闪存驱动器)如果您将其安装在闪存驱动器上。我们建议您在该位置创建一个名为

  • user_library

如果使用机器安装,路径:C:\Dev-Cpp\user_library 将作为用户库的位置创建。您可以将其放置在任何位置并为库命名任何名称,但一旦您确定了位置和名称;您不希望移动或重命名文件夹。

将头文件放入用户库

[编辑 | 编辑源代码]

您需要复制 udst_monitor.h 文件,将其放置到刚创建的 user_library 文件夹中。您可以猜到 udst 代表用户定义的特定任务。此头文件中的函数将用于控制用户与监视器的交互。.h 是 C++ 编程语言的约定,表示头文件。因此,头文件的标识符名称非常有意义且具有描述性。

验证头文件是否正常工作

[编辑 | 编辑源代码]

查看 Monitor_Verify_Header.cpp 源代码文件,并注意两个包含命令不同。

  1. 标准库使用小于号和大于号来括起标准库名称:iostream
  2. 用户库使用引号来括起头文件的位置。这向编译器标识我们正在指定我们想要的确切文件。我们提供了一个完整的文件规范(驱动器、路径信息、文件名和扩展名)。
  3. 因为此项在技术上是 C++ 中的一个字符串,所以我们必须在驱动器、路径和文件名之间使用两个反斜杠。这是因为第一个反斜杠假设下一个字符是一个转义代码,如果我们真的不想要转义代码,而是想要反斜杠,第二个反斜杠表示不要,我想要一个反斜杠。此字符串:"C:\\Dev-Cpp\\user_library\\udst_monitor.h" 将被解释为:C:\Dev-Cpp\user_library\udst_monitor.h

根据您使用的驱动器、使用的路径文件夹结构以及您为文件夹命名的名称;您可能需要更正源代码中的包含引用,使其正确引用头文件。

编译并运行 Monitor_Verify_Header.cpp 程序。注意:它应该与 Monitor_Testing_Shell.cpp 程序完全相同。

udst
用户定义的特定任务
测试外壳程序
用于创建特定任务函数的程序。
头文件
一个包含我们希望在源代码顶部包含的项目的文件。
华夏公益教科书