FORTRAN编译器把程式翻译成可执行形式,连线器把子程式和运行库过程合併成一个可执行程式,然后执行这个被翻译过的程式。
基本介绍
- 中文名Fortran编译器
- 外文名fortran compiler
- 定义把程式翻译成可执行形式
- 功能翻译成机器码
- 系统计算机
- 套用学科计算机原理
介绍
Fortran语言是一种在国际上广泛流行的适于科学计算的程式语言,也是世界上产生最早的高级程式设计语言。Fortran是Formula Translation的缩写,即数学公式翻译器。
Fortran的起源要追溯到1954年IBM公司的一项计画。IBM尝试着在IBM 704计算机上开发一套程式,它可以把接近数学语言的文本翻译成机器语言。1957年,他们开发出第一套Fortran编译器。一个革命性的产品Fortran也随之诞生了。20世纪60年代初,在国防、教育和科技领域对高性能计算工具的迫切需求下,Fortran语言蓬勃发展,成为当时统治计算机世界的高级语言之王,有很多软体公司都推出了自己的编译程式。,各个公司为了强调自己产品的功能,都在原来的Fortran语言之外添加了一些自己的独门语法.从而导致了Fortran语言移植上的困难。
1962年,为了统一不同公司、不同硬体平台上的Fortran语言,美国国家标準局(ANSI)开始了语言标準化的尝试,并在1966年制定了Fortran语言的统一标準,即Fortran 66。由于标準文档过于简单,约束力不强,Fortran 66标準发布后,语言的统一问题并没有得到彻底解决。
1978年,美国国家标準局正式公布了Fortran语言标準的第一个修订版本,这套标準就是所谓的Fortran 77。Fortran 77除了保留了Fortran 66标準的大部分内容外,还添加了许多适于结构化程式设计与维护的新特性。Fortran 77让Fortran成了一种真正规范、高效和强大的结构化程式设计语言。
继Fortran 77标準之后,1992年国际标準组织IS0又正式公布了崭新的Fortran 90标準。Fortran 90标準除了引入自由的代码风格外,还引入了模组、接口块、自由定义(派生)数据类型和运算符、可动态分配和参与複杂运算的数组、例程重载、指针、递归等重要的语法特徵。这不但使结构化的语言更趋完善,也使其具备了少量的面向对象语言特徵。
1997年ISO又发布了Fortran 95标準。Fortran 95在Fortran 90的基础上,加强了Fortran语言在并行运算方面的支持,并进一步完善了派生类型、指针、数组等要素的相关语法。
2004年5月,在ISO、IEC的联合工作组JTCl/SC22/WG5以及美国标準委员会的共同努力下,终于推出了Fortran 2003标準。Fortran 2003对Fortran 95做了较多的改进,添加了很多新特性,例如增强的派生数据类型、面向对象编程、增强的数据操作功能和与C语言互操作等。Fortran 2003近乎彻底地解决了语言现代化的问题。
Fortran 2003之后的下一个版本是Fortran 2008。和Fortran 95一样,Fortran 2008也只是一个小改版,略微更正了Fortran 2003的一些问题,并且合併了TR一19767的语言功能。
编译器
编译器(Compiler)就是把FORTRAN、C等高级语言翻译成机器码,从而使计算机能够执行并得出相应结果的软体。也有一些解释语言并不需要编译器就可以直接运行,例如Visual Basic、PHP、JavaScript等。
当FORTRAN语言开发出来以后,出现了很多种的编译器,Windows系统下计算机上的常用平台如下。
1)FORTRAN Power Station 4.0。微软公司将FORTRAN 90集成到Developer Studio开发环境之后推出的FORTRAN编译器,这个平台真正实现了FORTRAN的可视化编程。
2)Digital Visual FORTRAN。由微软公司和DEC公司联合开发的功能更强大的FORTRAN编泽器。
3)其他的还有G95/gFORTRAN的Windows版本、Absoft FORTRAN、PGI Visual FORTRAN等。
这其中,影响较大、功能较全、性能较好、套用最广泛的FORTRAN编译器是提供了集成开发环境的Visual FORTRAN系列。
CVF编译器
Visual FORTRAN系列编译器的前身是微软公司开发的FORTRAN Power Station 4.0编译系统。该系统结合了当时微软最新开发的Developer Studio集成开发环境(IDE),使得FORTRAN程式的开发方式跟上了时代的潮流。
Visual FORTRAN编译器的优势包括全面支持FORTRAN 90语言标準;对FORTRAN语言进行丰富扩展;具有系统全面的线上文档;能方便地与Microsoft Visual C++进行混合编程等。该编译系统在实际使用中出现的问题较多,例如没有严格的数组越界检查功能等。
1997年3月,微软公司与DEC公司达成协定,授权DEC提供其后继版本Digital VisualFORTRAN 5.0版本;1998年1月,DEC公司和Compaq公司合併,于是Digital Visual FORTRAN更名为Compaq Visual FORTRAN。现在流行的最新版本是Compaq Visual FORTRAN Version6.6。
Compaq Visual FORTRAN由于具有以下突出特性,从而使以往的其他工具无法与之相媲美。
1)具有集成开发环境Developer Studio,程式设计者可以在集成开发环境中方便地进行编辑、编译、连线和调试。
2)生成的是Windows作业系统下的32位应用程式,提高了代码的执行效率,突破了原先PC系统下FORTRAN程式64KB定址空间的限制,更加充分地利用了系统资源。
3)在集成开发环境中,可以可视化地进行Windows用户图形界面设计、设定编译连线选项和编译连线。
4)FORTRAN Power Station的调试(Debug)功能使程式设计者可以在集成开发环境中方便地跟蹤和控制程式的执行,查看或修改变数和表达式的值,查看反彙编代码或查看堆叠情况。
5)不仅可以开发传统的控制台应用程式和图形界面程式,还可以使用QuickWin库在不必深入了解Windows系统的情况下,简便地开发出具有Windows图形界面特点应用程式,甚至可以更进一步地利用WindowsAPI函式接口进行Windows程式设计。
6)可以方便地与Visual c/c++、MASM和Visual Basic进行混合语言编程,以充分利用各个语言所具有的优点。
7)所建立的动态程式库可以被Excel中的VBA调用,使开发出的应用程式与Excel相结合。
IVF编译器
随着计算机处理器技术的飞速发展,64位的计算机已经越来越普遍了,Intel公司的CORE处理器也从酷睿双核升级为i5、i7,微软的Windows 7系列的64位作业系统以其全新的界面、流畅的用户体验占有了极大的作业系统市场。
随着64位作业系统的不断发展,相应的FORTRAN开发也出现了一个问题——Compaq Visual PORTRAN(CVF)不支持64位系统,因为2005年以前FORTRAN 90/95的Win32开发环境多採用CompaqVisual FORTRAN 6.x,但2005年CVF开发团队加盟到Intel公司,HP宣布其CVF6.6有效期截至2005年12月31日,Intel Visual FORTRAN(ⅣF)9.0将作为其新一代后继编译器。
IVF是在CVF的基础上开发的FORTRAN编译器,它将CVF前端与Inter处理器后端相结合,拥有CVF丰富的语言功能和Inter处理器的代码生成及最佳化功能,使运行在Inter平台上的程式能得到大幅度提高。
随着计算规模的增大,对计算记忆体的要求必须採用64位的程式才能够满足开发的要求,但CVF没有提供64位系统的编译平台。
,程式并行功能的实现可以用Intel的MKL所提供的函式馆,这些函式馆採用了共享记忆体并行计算的OpenMP,但以前的CVF没有提供对OpenMP的支持,所以无法调用MKL的并行函式馆。所以,从CVF 6.x转移到IVF 9.0已是势在必行,选用IVF来编译FORTRAN程式也是很有必要的。
在使用CVF6.5/6.6编写运行FORTRAN程式时,只需要安装Compaq Visual FORTRAN6.5/6.6即可。这是因为在这个安装源程式中,Visual FORTRAN已经被集成在Microsoft VisualStudio(VS)的图形接口开发环境中了,所以可以直接安装使用。
与C++相似,FORTRAN语言本身并没有提供图形界面输出方面的功能,为了使用FORTRAN语言编写图形接口程式,必须藉助Intel Visual FORTRAN等图形化的编译器。Intel Visual FORTRAN编译器几乎封装了完整的Win32 API和OpenGL函式,提供了良好、稳定的编程接口,所以藉助IVF,FORTRAN可以完成UI设计,也可以完成图形编程。
採用IVF来编写运行FORTRAN程式则稍微麻烦些。因为Intel Visual FORTRAN Compiler版本都只是编译器,它需要放到集成开发环境(Integrated Development Environment,IDE)中去才能使用。故而lVF Compiler还需要VS 6.6以上版本IDE的支持,所以必须事先安装好VS后,才能安装编译器。
提示集成开发环境软体是用于程式开发环境的应用程式,一般包括代码编辑器、编译器、调试器和图形用户界面丁具,就是集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软体套。所有具备这一特性的软体或者软体套(组)都可以叫作IDE。如微软的Visual Studio系列、Borland的C++ Builder、Delphi系列等。该程式可以独立运行,也可以与其他程式并用。