详细述说C 编译环境
创始人
2024-06-21 08:41:32
0

本文进行对C++编译环境说明介绍,但是首先在编译前,首先遇到的就是环境问题,这个问题大大的影响了编程人员和技术人员的工作效率,那么本文给大家讲述一下令人头疼的C++编译问题。

源程序作为解释器输入,解释器可能会把程序转换为内部的合适的形式,以取得更大的运行速度。解释器的工作更像人类自身的工作,它处理字符串,并赋于字符串以意义,常见的解释程序都是脚本语言,如PHP、Perl、ASP和bash等等。

编译程序
什么是编译程序?编译程序和解释程序一样,是程序运行的一种方式,但却又与解释程序是不同的运行方式。解释程序是边解释边执行,而编译程序是编译之后多次执行。比喻来说,我们像一条鱼,解释器会找来一条鱼给你,而编译器却会把一个网给你,要鱼的话自己捉去。

源程序是编译器的输入,编译器把源程序经过分析与处理最终转换成一个可直接执行的二进制程序。二进制程序是机器可以直接理解并执行的指令与数据集,此时我们只需要简单把程序装载内存,并把CPU的控制交给它就可以了。

一般来解释程序会比编译程序慢许多,因为解释需要多次进行,而编译却只是一次进行,所以会省下许多时间。C++和C语言都典型的编译程序,随着计算机硬件的发展,现代的解释型程序越来越成功和强大,并且已经形成一个很强大的竞争。

C++编译环境
C++是一种编译程序,那么C++的源程序到C++二进制程序的转换过程是由哪个工具来完成的呢?这个工具就是C++编译器,正如上面据说的,C++编译器读取源程序,在经过分析与处理之后生成可运行的二进制程序。

C++编译器及相关工具构成C++编译环境C++编译环境可能还存在其它的工具,比如预处理器、编辑器、设计器等等。事实上存在非常多的编译环境,这些编译环境各不同,有的非常先进,有的可能注重易用性。

本手册自始至终都使用GNU Compiler Collection(GCC)来完成我们工作,GCC是一组编译器集合,它不仅有C++编译器g++,还有其它的编译器或解释器。它是自由和开放,全世界的人都应该使用它,所以也就使用它了。

除了g++之外,还存在intel C++ compiler、IBM C++ compiler,当然还最臭名照著了Microsoft Visual C++。它们三个都商业软件,intel公司关注自身平台,所以它的编译器可能只能运行在自身平台之上,当然这种关注使得它在自身平台有许多的优势,比如编译出来的程序更快等。C++的最初创始人Bjarne Stroustrup维护了一个C++编译器列表,大家可以过去看看。

在示例中,每个程序都非常简单,在Linux中使用g++来完成编译与测试。关于g++更多的内容我们可能在以后的章节有所涉及,但是不会有大量篇幅,因为在这里讲述的是C++,而不是g++。如果实在无法离开Windows,这里有一个替代方案。

可以下载并安装Code::Blocks,它是一个跨平台的IDE环境,此时你可以不得不先去熟悉这个IDE环境要编译我们上一节写作的“hello_world.cpp”程序,其实很简单,只要我们在命令行中使用,

就可以了。在运行上述命令之后,将生成一个叫做“hello”的可执行程序,为了要运行它,我们需要在命令行中使用: 这个命令就是运行刚才生成的程序的命令,注意在“hello”之前的“./”,这表示是当前目录下的“hello”。 大家可以已经注意到了,这里我会使用大量命令行相关的内容,如果你对这个不熟悉,你应该先去熟悉也命令行相关的内容。

【编辑推荐】

  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 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...