FORTRAN编译器把程序翻译成可执行形式,连接器把
子程序和运行库过程合并成一个
可执行程序,然后执行这个被翻译过的程序。
介绍
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年
国际标准组织ISO又正式公布了崭新的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系列等。该程序可以独立运行,也可以与其他程序并用。