如何对C 源程序进行编译
创始人
2024-06-21 01:10:57
0

下面的文章详细对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的简洁优雅)。一旦习惯使用泛型思维来考虑问题,我们能够充分体会到模板带来的美!

对于数值计算来说,C++源程序可以充分满足现代化服务和商业计算对数据、信息的即时回应的要求。

我觉得学好一门语言最重要的就是实践。也就是多“写”!“工程经验之积累”对已具有一段开发时间的程序员而言,非常重要!只有在不断的积累中,我们才能渐渐体会到C++源程序中的一些背后的东西。

【编辑推荐】

  1. 如何正确编写C++项目开发编写项目计划书
  2. 对C++库函数进行学习探索总结笔记
  3. 深度演示C++语言的种种高安全性
  4. 详细介绍如何准确无误的编写C++语言
  5. 深度演示C++语言的种种高安全性

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...