跳转到内容

编程基础/条件编译

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

介绍和示例 C++ 编程语言中使用的条件编译。

在您的编程生涯中,需要解决的问题/任务变得越来越复杂。用伪代码(或其他方法)完成的算法文档仍然需要转换为编程解决方案。不可避免地,在编写源代码时会引入错误。在学习新的编程语言的语法时,程序员有时会自动用旧的语言语法思考,从而犯下一些难以检测的错误。

使用标志来激活或使某些代码行处于休眠状态的概念,这些代码行专门用于帮助调试程序,几乎与现代计算机编程(1950 年代)的起源同时出现。C++ 中可用的调试工具之一是条件编译。对于我们的标志,我们将使用一个定义的常量,例如

#define DEBUG 1

然后使用另一对编译器指令,#if 和 #endif,我们可以让编译器在预处理器期间选择包含或不包含一行或多行代码。

#if DEBUG
    cout << "\n***** DEBUG Code ** Hi mom!";
#endif

当然,说“嗨,妈妈!”对调试代码没有太大用处。但是,您可以使用条件编译来测试数据。可以将一系列输入数据值和一系列输出预测器放入程序中。然后,您可以使用调试标志打开或关闭调试功能。

您应该结合本模块学习示例程序。

C++ 示例程序

[编辑 | 编辑源代码]

为源代码文件创建文件夹或子文件夹

[编辑 | 编辑源代码]

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

  • Demo_Programs

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

下载示例程序

[编辑 | 编辑源代码]

将以下文件下载到您的存储设备中的相应文件夹中。按照编译器/IDE 的方法,编译并运行程序。结合其他学习材料学习源代码文件。您可能需要右键单击链接并选择“目标另存为”才能下载文件。

从 Connexions 下载:Demo_Conditional_Compliation.cpp

条件编译
根据布尔表达式包含或排除代码行的编译器指令。
华夏公益教科书