如何对C++源程序进行编译

jEA 2010-01-15

下面的文章详细对C++源程序进行大致说明介绍,在学习C++源程序之前首先要了解下什么是C++?对C++是基于C语言发展起来的一种新的程序设计语言。下面进行学习剖析。

有的编译系统要求在行尾加续行符(“\ ”) C++程序的实现C++源程序的实现与其他高级语言源程序实现的原理是一样的。一般都要经过编辑、编译、运行。其中最要的是编译过程,C++是以编译方式实现的高级语言。

C++程序的实现,必须要使用某种C++语言的编译器对程序进行编译。编译器的功能是将程序的源代码转换成为机器代码的形式,称为目标代码;然后,再使目标代码进行连接,生成可执行文件。

该过程可分为三个子过程:预处理过程、编译过程(词法分析、语法分析、符号表、错误处理程序、生成目标代码)、连接过程。Visual C++ 6.0版本是当前国内比较流行的一种C++编译系统。

总的来说,C++和C#、Java的区别集中在以下几点:
(1)C#、Java代码编译后(形成中间代码)是在虚拟机上执行的。C++则不是。
(2)C#、Java语言相对于C++语言来说较为简单,比较容易上手。C++的语法特性多、复杂,较难掌握。
(3)C++语言本身是一个标准,各种实现之间有区别,对标准的理解、执行程度也不同。而C#、Java语言是由商业公司掌握的,在这方面很少有问题。
(4)C#、Java是直接面向应用的,各种标准、模型都很成熟。而C++的各种库在不同的C++编译器实现上可能遇到一些问题。
(5)三者都是面向对象的。

C#、Java比C++更为彻底一些。有观点认为C#、Java是彻底地面向对象的语言,这种说法不妥,因为对于面向对象的语言,并没有一个特定的标准,例如也有观点认为最近很流行的Ruby语言比C#、Java更加面向对象。

(6)C++拥有很多现代的、令人激动的语言特性,例如模板、泛型编程等。在这一点上,C#和Java也在迅速跟进。
C++是一门精致的、艺术的编程语言。

笔者认为,C++源程序也是所有已知程序设计语言中最灵活、最难学的语言之一。学好C++基本上也意味着可以学好任一种其他的高级程序设计语言。图1.1对C、C++、C#、Java这4种语言的几个方面做了比较。

写程序首先希望是程序能正确执行,其次是效率能够被接受,再次就是易于维护。C++是一个难学易用的语言。C++提供了太多可选择的东西,而且使用使用C++来写程序可以有四种思考模式:基于过程、基于对象、面向对象和泛型。

我们使用一种语言来写程序,并不意味着就是使用语言本身,换句话说,我们更多的时候是使用程序库在写程序。比如MFC、STL、ATL、VCL等等。其中要使用C++来写出结构优美、性能卓越、代码简洁、易于维护的代码,首推C++标准程序库。

STL对效率做了严格的要求,而且使用STL写出来的程序简洁美观(前段时间我特意贴了一个要求对若干整数进行排序的帖子,其实目的就是用来展示STL的简洁优雅)。一旦习惯使用泛型思维来考虑问题,我们能够充分体会到模板带来的美!

相关推荐