- 高级C/C++编译技术(典藏版)
- (美)米兰·斯特瓦诺维奇
- 832字
- 2023-02-23 15:58:06
2.2 编写代码
考虑到本书讨论的主题是程序的构建过程(也就是编写完代码之后的过程),所以我们不准备在编写源代码上花费太长的时间。
除了在极少数情况下使用脚本来生成源代码的情况外,本书均假定用户使用编辑器输入代码,这些代码是一些使用ASCII字符编写的满足所选编程语言语法规则的语句(我们这里用的是C和C++)。你可以选择多种不同的编辑器,从最简单的ASCII文本编辑器到高级的集成开发环境(IDE)工具。考虑到本书的绝大多数读者都是富有经验的开发人员,所以在选择编辑器的问题上也没有必要花费那么多时间去一一讲解了。
但是,这里有一项编程实践会对接下来的构建过程中产生重要影响,因此需要我们额外关注。为了更好地对源代码进行组织,开发人员通常会遵循以下编程实践方法:将具有不同功能性的代码置于不同的文件中,这使得一个项目通常包含许多不同的源代码和头文件。
人们从早期微处理器的开发环境出现时就已经开始采用这项编程实践。从那时起,开发人员就把这个编程实践作为一项开发过程中的固定设计方案,事实证明这样可以很好地组织代码,而且使得代码维护工作变得轻松许多。
这项实用的编程实践会对开发过程产生深远的影响。在接下来的构建过程阶段中,你很快就会了解到这项实践会导致一些不可预测性,我们需要花些心思来解决这些问题。
概念解释:基于演示项目
为了更好地说明编译过程的复杂性,同时也让读者能够快速拥有一次动手实践的机会,本书提供了一个简单的演示项目。该项目的代码非常简单,只包含了一个头文件和两个源代码文件。虽说如此,但为了让读者理解整个过程,这个经过精心设计的演示项目也足以说明程序生命周期中的各个重点。
该项目由以下几个文件组成:
● 源代码文件main.c,其中包含main()函数。
● 头文件function.h,其中声明了main()函数中所调用的函数和使用的数据。
● 源代码文件function.c,其中包含的代码实现main()函数引用的函数,并初始化main()函数引用的数据。
演示项目是在Linux环境中使用gcc编译器构建的。代码清单2-1到代码清单2-3列出了演示项目中用到的代码。
代码清单2-1 function.h
代码清单2-2 function.c
代码清单2-3 main.c