- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5-混合语言编程【荐】.ppt
* * * * * * * * * * * * 2010-5-24 第10章 混合编程 * 调用约定 调用约定中的堆栈考虑: 2010-5-24 第10章 混合编程 * 调用约定 FORTRAN/C调用约定: 2010-5-24 第10章 混合编程 * FORTRAN过程中的原型 定义FORTRAN中过程的原型 2010-5-24 第10章 混合编程 * FORTRAN过程中的原型 定义FORTRAN中过程的原型 例程语句: 定义一个FUNCTION或SUBROUTINE 例程ATTRIBUTE选项: 可选,决定例程的调用、命名和参数传递约定 参数ATTRIBUTE选项:可选,是隶属于各参数的属性,通常有VALUE和REFERENCE等 正式参数声明:就是FORTRAN参数类型声明 同一个INTERFACE块可以制定多个过程的原型 2010-5-24 第10章 混合编程 * FORTRAN过程中的原型 定义FORTRAN中过程的原型 2010-5-24 第10章 混合编程 * 举 例 【例 10.1】求最大值(Fortran调用C) 2010-5-24 第10章 混合编程 * * * * * * * * * * * * * * * * * * * * * * * * * * 第10章 混合编程 第10章 混合编程 2010-5-24 第10章 混合编程 * 第10章 混合语言编程 Fortran 90 程序设计 2010-5-24 第10章 混合编程 * 本章主要内容 概 述 混合语言问题 混合语言编程中的数据交换和访问 处理混合语言编程的数据类型 Visual FORTRAN/C++编程 2010-5-24 第10章 混合编程 * 一、 概 述 2010-5-24 第10章 混合编程 * 概 述 不同语言调用例程的等价形式 2010-5-24 第10章 混合编程 * 先来看两个例子: 1、一个混合编程小程序 2、DUNS代码(CFD) 概 述 2010-5-24 第10章 混合编程 * 【例 10.1】求最大值(Fortran调用C) 概 述 2010-5-24 第10章 混合编程 * 【例 10.2】DUNS流场计算程序(Fortran和C互相调用) 概 述 概 述 【例 10.2】DUNS流场计算程序(Fortran和C互相调用) 2010-5-24 第10章 混合编程 * 概 述 2010-5-24 第10章 混合编程 * 【例 10.2】DUNS流场计算程序(Fortran和C互相调用) 2010-5-24 第10章 混合编程 * 概 述 混合语言编程 由两种或者两种以上语言编写源代码,从一语言调用另外一种语言子程序或彼此相互调用,进行参数传递,共享数据结构和信息,从而建立程序的过程称为混合编程。它是软件接口中关于程序接口技术的一个重要研究领域,混合语言编程允许进行以下操作 调用已经存在的用其他语言编写的代码 使用以某种语言很难实现的过程 获得处理速度上的优势 从应用的角度来分析,软件接口有以下两种 语言程序间的接口(调用型接口,Call Type) 数据共享型接口 缓冲通讯型数据共享方式 数据文件共享型方式 2010-5-24 第10章 混合编程 * 概 述 不同语言调用例程的差别 2010-5-24 第10章 混合编程 * 概 述 高级语言编写应用程序的步骤 用高级语言(如Fortran/C/C++等)编写源程序; 用编译器(Compile)编译源程序形成: 目标文件(*.obj),以文件为单元,二进制代码(机器码) 模块目标文件(*.mod),以文件为单元,二进制代码(机器码) 用连接器(Linker)将目标文件、模块目标文件、库文件连接成可执行程序(*.exe): exe文件也是二进制代码 库文件包括静态库(*.lib)和动态库(*.dll),均为二进制代码,可以是系统自带或者用户编写的,库文件中不能有主程序 *.lib和*.dll库使用的最大差别是: *.lib库中的函数复制到*.exe中, *.dll中的函数则无需复制,而是在*.exe中说明要调用的函数放在哪个*.dll文件中,因此*.dll与*.exe一般必须放在同一目录下。 2010-5-24 第10章 混合编程 * 概 述 调用约定 为了正确地创建混合语言程序,必须为变量和过程的命名、堆栈的使用、不同语言编写的例程(包括不同语言中的函数、子例程和过程)之间传递的参数等建立一套规则。包括: 堆栈考虑:1)一个例程是否接受可变或固定数目的参数?2)调用后哪个例程负责清除堆栈? 命名约定:1)名称是
您可能关注的文档
- 3G系列三螺杆泵产品样本【荐】.pdf
- 3G系统1【荐】.pdf
- 3G系统介绍【荐】.ppt
- 3G网络制式_4G汇总【荐】.doc
- 3G网络工程师【荐】.doc
- 3G网络测评【荐】.ppt
- 3G网络知识培训(促销员版)_PA6_20090327【荐】.pdf
- 3G网络简介【荐】.ppt
- 3G网络结构【荐】.ppt
- 3G网络规划与优化【荐】.ppt
- 2024年学校党总支巡察整改专题民主生活会个人对照检查材料3.docx
- 2025年民主生活会个人对照检查发言材料(四个带头).docx
- 县委常委班子2025年专题生活会带头严守政治纪律和政治规矩,维护党的团结统一等“四个带头方面”对照检查材料四个带头:.docx
- 巡察整改专题民主生活会个人对照检查材料5.docx
- 2024年度围绕带头增强党性、严守纪律、砥砺作风方面等“四个方面”自我对照(问题、措施)7.docx
- 2025年度民主生活会领导班子对照检查材料(“四个带头”).docx
- 国企党委书记2025年度民主生活会个人对照检查材料(五个带头).docx
- 带头严守政治纪律和政治规矩,维护党的团结统一等(四个方面)存在的问题整改发言提纲.docx
- 党委书记党组书记2025年带头增强党性、严守纪律、砥砺作风方面等“四个带头”个人对照检查发言材料.docx
- 2025年巡视巡察专题民主生活会对照检查材料.docx
文档评论(0)