欢迎来到天天文库
浏览记录
ID:34370067
大小:107.77 KB
页数:4页
时间:2019-03-05
《c_与fortran混合编程技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、研究与探讨C++与Fortran混合编程技术王红林刘岩边保林梁晓中国建筑科学研究院计算中心摘要本文简要介绍了采用C++与Fortran混合编程技术分析表明ABDS采用混合编程技术极大地保护了已有的分析资源同时又充分享受到C++带来的方便和快捷关键词混合编程面向对象调用协议ABDS软件中采用Fortran语言编写结构计算由于两者产生的背景不同它们是存在差异分析程序采用C++编写交互输入界面和图形处理的主要表现为以及辅助设计部分本文重点介绍ABDS软件中C++函数调用与Fortran混合编程技术参数传递多
2、维数组的处理1C++语言和Fortran语言的发展内存动态管理在程序设计语言的发展过程中FORTRAN语言特别是在多维数组的处理方面C++不如FOR-被认为是科学计算的专用语言后来推出的FOR-TRAN直观和易于理解FORTRAN从一开始就用于科TRAN90和FORTRAN95版本也不例外它们虽然学计算必须处理矩阵一类的数学问题多维数组可以完全实现C++语言同样的功能然而其软件开是它的主要使用工具而C语言一开始是面向系统发环境和软件的集成性等方面都远不如C++语言程序员的在应用中很少会涉及多维数组因此
3、在近年来随着计算机软硬件技术的发展数据结构处理多维数组方面存在着较大差异数据库管理技术可视化与计算机图形学用户接3C++语言和Fortran语言的混合编程口系统集成以及人工智能等领域的成果被逐渐应用到结构分析软件中结构分析软件的设计并不仅C++语言和Fortran语言的混合编程就是利用仅局限于单一的科学计算需要涉及众多的软件开二种编程语言编写的源代码构建程序模块的过程发领域C++语言可以提供这类软件开发所需的功混合语言编程具有以下优点能而用FORTRAN90却很难实现另一方面从利用某种语言处理某些问题
4、特有的速度和优软件的编程环境来看目前FORTRAN90的编译器势如FORTRAN语言具有强大的科学计算速度和能极少而C++语言的编译系统相当普及可以运行力是一种适合数值计算的语言其语法检查严格在各种机型上便于实现跨平台的软件系统集成运行稳定性好在科学计算和工程分析领域中有广泛的应用但是在绘图网络等方面则显不足2C++语言和Fortran语言的差异VisualC++具有良好的图形界面和系统管理能力FORTRAN语言发展之初就被认为是科学计算的同操作系统有很好的亲和性专用语言C最初出现是用作UNIX操作系
5、统的记述调用已经存在的源代码历年的科学研究中语言发展之初一直作为较低级语言编写与硬我们积累了大量成熟的FORTRAN程序如现阶段结件关系密切的底层软件由于UNIX的成功和广泛构分析程序大都是用FORTRAN语言编写的为了有使用C语言开始流行起来并成为一种普遍使用效地利用现有的资源可把原有的源代码编译成动的程序设计语言态链接库DLLDynamicLinkLibrary以便于工程设计CAD与智能建筑2001(6)11研究与探讨C++编程语言的调用integeri2(2)ABDS软件是在AutoCADR14
6、图形平台上开发实realr1[reference]realr2(2)现的其开发环境为VisualStudio6.0其中C++STRUCTURE/ABDS_LAYER/程序采用VC++6.0编译链接Fortran程序采用integeri1DigitalVisualFortran6.0编译链接共处character*81str于VisualStudio6.0集成开发环境下面分函数realr1直接嵌入和DLL调用两部分介绍ABDS中采用的混合ENDSTRUCTURE编程方法RECORD/ABDS_LAYER
7、/layer(100)ENDSUBROUTINE3.1函数直接嵌入方法ENDINTERFACE混合语言编程要遵守函数名一致参数名一这是Fortran中调用C++函数的最典型的手法致函数类型匹配参数类型匹配以及参数传递一一般而言Fortran编译时默认的参数传递方式为致等规则地址传递为安全起见还是申明为[reference]对于C++中调用FORTRAN语言编写的函数名一如需特别处理为值传递则申明为[value]相应致是指调用函数和被调用函数不仅名称一致而于地址传递在C++函数中需申明为指针或引用且大小
8、写一致相应于值传递在C++函数中需需申明为数据参数名一致也要求不仅名称一致而且大小在Fortran90和Fortran95版本中数据类型可以写一致完全和C++的普通数据类型相对应包括整型实函数类型匹配和参数类型匹配是指调用函数和型字符串BOOL型......以及自定义的结构被调用函数中数据类型一致或相协调体等参数传递的类型要一一匹配单个参数传递有实例2C++中调用Fortran子程序两种方式值传递和地址传递传递参数的地址在Fortran中申明为上述规则可
此文档下载收益归作者所有