学科分类
/ 3
47 个结果
  • 简介:在大伙房水库监测预警平台的开发过程中,为了节约开发时间并优化程序结构、提高运行效率,综合利用C#这种现代语言高效开发的特点和FORTRAN这种古老计算机语言描述工程算法准确、严谨的优势。本文讨论了FORTRAN和C#混合编程的特点,研究了C#与FORTRAN混合编程的实现方法。关键词FORTRAN;混合编程;工程计算;DLL中图分类号TP314文献标识码A文章编号1007-9599(2010)04-0000-01ImplementationofFORTRAN&C#MixingProgrammingagainstLargekitchenWarningPlatformDevelopmentShangTao,FuJinxiang,MaXingyuan,TangYulan(ShenyangArchitectureUniversity,Shenyang110168,China)AbstractDuringthedevelopmentoflargekitchenResMonitoringandWarningPlatform,inordertosavedevelopmenttimeandimproveoperationefficiency,usingC#LanguagewhichisthemoderncomputerlanguagealsohasthecharacteristicsofefficientdevelopmentandFORTRANLanguagewhichcanrigorousandaccuratedescriptionofengineeringalgorithmtogetherisnecessary.ThispaperhasdiscussedthecharacteristicsofmixingprogrammingwithC#andFORTRANlanguage.KeywordsFORTRAN;Mixingprogramming;Engineeringcalculation;DLL一、FORTRAN与C#语言的发展及优势以大伙房水库监测预警平台的开发为例。平台需要采用大量先进的计算机编程技术,应用大规模数据库,提供可靠的安全保障,优秀的网络访问能力。这就需要构建平台的编程语言能完整简洁地支持当今最新的编程技术。C#语言就是这样一种语言,作为微软首推的编程语言,C#几乎支持所有最新的编程技术提供了极高的开发效率5。但是该平台又有着显著的工程计算软件的特点,需要严谨的科学计算语言对算法进行描述,同时有许多经过多年工程实践积累的工程计算代码可以被重用。FORTRAN语言最早被应用在工程开发之中,同时在FORTRAN语言50多年的发展中,积累了大量的优秀正确的代码。所以研究C#语言与FORTRAN的混合编程在该项目中的开发中有着重要的意义。(一)FORTRAN语言的发展及优势FORTRAN在数值计算领域有其独有的优势,首先它是最早的高级语言,有大量优秀正确可靠的源代码可以使用,如果能充分利用FORTRAN源代码可以大量节约工程软件设计开发的时间。FORTRAN语言有更为严格的语法,支持直接对数组和复数进行计算,非常适合严谨的科学计算领域1-3。(二)C#语言的发展及优势微软在推出.NETFramework第一版时推出的新语言C#,派生于C的简洁语法,继承了C++语言的灵活性,并且支持快速开发,随着C#3.0版本的发布,C#作为微软公司建议的开发语言,已经受到越来越多的程序开发人员的青睐5。二、FORTRAN与C#混合编程的方法(一)命名约定的一致由于C#语言是严格区分大小写的,而FORTRAN在默认情况下不区分大小写,如果不解决命名一致问题就会导致链接失败。FORTRAN的缺省方式是使符号名在OBJ文件中变成大写,在C#中调用一个缺省的子例程时用一个纯大写的名称生成调用就可以成功publicstaticexternvoidDLLTEST;(二)参数传递一致因为C#默认是值传递,而FORTRAN默认是引用传递。我们在参数传递中必须保持传递的一致性。简单的方法是使用C#的关键字ref,将C#的参数传递类型定义为引用类型publicstaticexternvoidDLLTEST(refinta,refintb);(三)数组参数传递在传递数组参数时,需要周全地考虑行和列的储存位置对调的问题5。还应注意,C#的数组下标从0开始,而FORTRAN的数组下标默认从1开始。如在C#中定义数组A34,共20个元素;同样的定义A(3,4)在FORTRAN中共12个元素1-3。并且进行数组传递还要注意,只需要传递数组的首地址即可,DLL需要的是数组的起始位置。三、FORTRAN与C#混合编程的实现下面试写水库监测预警平台中一个模型计算程序来说明FORTRAN和C#在混合编程的实际应用。启动VisualStudio,选择IntelVisualFortranLibrary中的Dynamic-linkLibrary,并给项目命名。新建“FortranFile”项,并给文件命名。然后在该文件中书写算法代码。编译完成后,在该项目的debug子目录下找到生成的dll文件。新建VisualC#Windows窗体应用程序。并给项目命名,将生成的dll文件拷贝到新项目的debug目录下。在进行连接之前需要在C#中增加对动态链接库操作的类的引用usingSystem.Windows.Forms;usingSystem.Windows.InteropServices;声明外部函数的部分代码publicpartialclassForm1Form{DllImport("dlltest.dll")publicstaticexternvoidFORDLL(reffloatV,reffloatQIN,reffloatBOD,...);...之后就可以对FORTRAN编写的外部函数进行调用,得到正确的结果。四、结论经过本文的讨论,可以看到运用FORTRAN与C#混合编程可以容易地实现。平台的代码极大的缩短,并且可以方便地重用FORTRAN语言的优秀代码,大大缩短开发时间,并且提高程序的执行效率。参考文献1司岩,周福才.FORTRAN程序设计基础J.大连理工大学出版社,1996,52刘卫国,蔡旭辉.FORTRAN90程序设计教程J.人民邮电大学出版社,2003,23张晓霞,田秀萍.Fortran90程序设计教程J.兵器工业出版社,2005,104Nagel.C等著.黄静译.C#高级编程J.清华大学出版社,2008,105周涛,郭占元,郭向荣.Fortran与C#混合编程在土木工程计算中的应用J.中南大学,2009,3

  • 标签:
  • 简介:本文讨论了通过.NETFramework实现汽车控制,介绍了基于白板表示法的可扩展实时控制体系结构,阐述了对.NET的精确GPS同步计时器组件的实现。

  • 标签: .NET C# 软件设计 DARPA GRAND CHALLENGE
  • 简介:应用型大学建设是要培养具有较强社会适应能力和竞争能力的高素质应用型人才,教学体系中要体现'应用'二字,本论文就《面向对象程序设计(C#)》课程的教学系统设计模式、教学目标、学习者特征、教学起点及教学方法、教学评价等方面进行了分析与设计,并进行了实践,实践证明这种教学设计方法有利于培养学生的实践能力,提高学生对知识的灵活运用能力,提高学生的创新能力。

  • 标签: 应用型大学 面向对象程序设计 C# 教学设计
  • 简介:详述使用Microsoft.NETFremework、MicrosoftSQLServer2000XML功能和XSLT文档的基于Web的用户服务解决方案的结构。利用MicrosoftASP.NET运行时支持、窗体身份验证机制和系统XML类,可以极大地简化高性能且可伸缩的基于XML的查询系统的创建。

  • 标签: C# 程序设计 应用程序 SQL SERVER XML
  • 简介:C语言程序设计是工科专业的基础课程,只有在授课过程中融入部分专业知识,选用的案例尽量贴近专业,增加创新创业项目训练,才能对深入学习后续课程打下良好的基础,为创业就业提供必要的条件,本文论述了创新创业项目训练的意义、在C语言教学中怎样引入项目训练、实施项目训练后的效果及项目评价体系设计等方面进行了论述。

  • 标签: 创新创业 项目训练 教学改革
  • 简介:针对全国计算机等级考试二级C语言,提出了学习方法,应试策略,并通过实例进行了题型分析,从而让考生全面掌握通过二级C考试的方法和技巧。

  • 标签: 二级C语言 学习方法 应试技巧 题型分析
  • 简介:基于GX-ARM9-2410EP开发板完整地研究并设计了一个嵌入式Linux存储系统。介绍了该嵌入式系统的体系结构和硬件接口,详述了SD卡文件系统、嵌入式Linux下SD卡驱动程序、Linux设备驱动模块加载的具体实现过程和方法。

  • 标签: LINUX S3C2410 嵌入式系统 存储系统 SD卡