前言
C#发展到现在,已是一门相当完善的语言,他基于C语言风格,演化于C++。并依靠强大的.NET底层框架。C#可以用来快速构建桌面及Web应用。然而在我们的实际工作中,尽管C#已经非常完善,但还是不能完成我们所有的工作。在很多工程计算中,C#语言的计算速度,精度,以及执行效率相对来说都达不到项目的要求。因此我们便考虑是否有一种方式将我们的工程计算部分和我们的项目分开,将计算部分用另一种执行更快,精度更高的语言来编写,然后在C#中调用,最后完成我们的工作。答案是肯定的。
Fortran是一门古老的语言,它是世界上最早出现的计算机高级程序设计语言,广泛应用于科学和工程计算领域。FORTRAN语言以其特有的功能在数值、科学和工程计算领域发挥着重要作用。然而Fortran程序本身不适合开发独立的应用程序,例如我们传统的桌面应用或者Web应用。因此这里我们便想将C#与Fortran结合,C#借助Fortran可以实现精度更高,计算更快的程序,而Fortran通过C#,便也能够达到可视化设计。
一、基本思路
运用Fortran,编写动态链接库(DLL),在DLL中提供计算的函数接口,然后在C#中调用该DLL中计算部分的函数,实现计算过程。
这里需要注意的是,由于我们使用的是Fortran编译器,生成的DLL属于第三方非托管DLL,因此无法直接在程序中添加DLL的引用。具体的做法将在后续部分说明。
二、编写Fortran程序,生成动态链接库文件
知道思路之后便开始正式的Coding。首先新建一个空的Fortran Dynamic-link Library项目。
在Intel(R) Visual Fortran点击Library,选中右图的Dynamic-link Library.然后点击OK.这时的项目如下所示:
点击Sources File文件夹,选择新建项。
添加一个新的Fortran文件
然后便开始Fortran代码的