Fortran Powerstatio 4.0静态链接库建立与使用.pdf
《Fortran Powerstatio 4.0静态链接库建立与使用.pdf》由会员分享,可在线阅读,更多相关《Fortran Powerstatio 4.0静态链接库建立与使用.pdf(4页珍藏版)》请在咨信网上搜索。
1、科学技术创新 2023.26Fortran Powerstatio 4.0 静态链接库建立与使用陈彦瑾(河海大学 水利水电学院,江苏 南京)前言Fortran 语言是世界上最早出现的计算机高级编程语言,在科学和工程计算领域相比其他编程语言更具优势。即使在计算机语言发展到今天的多元时代,Fortran 语言仍在广泛使用1-2。因此,完善其使用方法或功能,还是有一定意义的。王柯等1基于 Fortran 语言,分析了粮堆温度、水分含量、储粮害虫增长量以及杀虫剂浓度衰减的变化。杨成坤等2研发地下及井中探测软件平台,其中很多模块由 Fortran 语言编写。齐云飞、胡凡3基于 Fortran与 VB 混
2、合编程建立了水库群联合优化调度系统。很多高校至今仍将 Fortran 语言列为本科生教学主干课程4。使用静态链接库对部分程序进行封装是常用的手段之一,使用很广泛。本文主要介绍在 FortranPowerStation 4.0 环境下建立静态链接库,利用主程序调用静态库的方法,并结合示例程序介绍该方法的使用。1Fortran 静态链接库建立方法1.1建立静态链接库项目工作空间首次建立静态链接库项目工作空间时,需要在FortranPowerstation4.0 环 境 下 打 开 MicrosoftDeveloper Studio,执行 File-New 命令,在弹出的新建(New)窗口中选择项目
3、工作空间(Project Workspace),如图 1 所示,点击 OK 后在 New Project Workspace 对话框中选择项目类型(Type)为 Static Library(静态链接库),输入项目文件名称如 Sub,软件默认的文件存储位 置 为“C:MSDEVProjects”,点 击 Creat 后 会 在Projects 目录(即文件夹,以下所谓“目录”均指文件夹)下生成名为 Sub 的项目文件夹,Sub 目录内生成 Sub.mak 文件。这时,静态链接库的项目工作空间已经建摘要:静态链接库可以封装已经成熟的程序代码,优化程序结构。Fortran 静态链接库的建立和使用并
4、不复杂,大型程序经简单改写便可使用静态库进行封装,这无疑会带来很大的方便。本文介绍了一种在 FortranPowerstatio 4.0 环境下建立静态链接库,并通过主程序调用链接库的简单实用的方法。静态链接库在工程计算领域具有很大的实用性,值得积极推广使用。关键词:Fortran;Fortran Power Station;静态链接库;模块;编程语言中图分类号院TP313文献标识码院A文章编号院2096-4390渊2023冤26-0088-04资助项目:国家自然科学基金委员会雅砻江联合基金:基于颗粒破碎的堆石料长期变形特性与分数阶弹粘塑性模型研究(编号 U1865104)作者简介:陈彦瑾(2
5、003-),女,本科在读,研究方向:水工岩土工程、有限元数值计算。图 1Fortran Powerstation 4.0 新建文件建立方法88-2023.26 科学技术创新立完成,接下来就可以准备输入静态库程序代码。1.2编写静态链接库程序代码执行 File-New 命令,在新建文件对话框中选择Text File(或工具栏中选择 New Source File),生成Text1 文件,文件类型保存(File-Save)为 Sublib.for,然后输入程序代码。静态链接库的程序代码与一般子程序的编写规则完全一样。程序代码编写完成并存盘后,执 行 工 具 栏 中 Compile 命 令(或 菜
6、单 栏Bulid-Compile Sublib.for)编译 Fortran 程序,此时弹窗提示“This File is not included in the Project”,确认添加即可。Fortran Powerstation 4.0 软件默认的编译模式是Win32 Debug 模式,信息栏中提示编译正常通过之后,会在 Sub 目录下建立 Debug 文件夹并生成 Sublib.obj 文件。执行工具 栏中 Build 命令(或菜单栏Bulid-Bulid Sublib.lib)建立链接库,在 Debug 目录下生成 Sub.lib 文件,此文件即为新建立的静态链接库文件。由于链接库
7、文件一般不需要经常修改,只要声明程序接入点便可使用,因此可以在编译程序时选择Release 模式,以提高执行效率。此时会对应生成Release 目录及相应的 obj 和 lib 文件。如果用来做静态链接库的程序代码已存在,即Sublib.for 文件已有,就只需要将其添加到静态库项目工作空间中去。建立好的项目工作空间(即 ProjecctWorkspace-Static Library)后,执行菜单栏 Insert-Filesinto Project 命令,在弹出的对话框中找到 Sublib.for 程序代码,点击 OK。执行 Compile 和 Bulid 命令后,会对应在 Sub 文件夹的
8、 debug 或 Release 目录生成 Sublib.obj 和 Sub.lib 文件。1.3主程序调用静态链接库主程序代码中不包含链接库代码,主程序调用时只要知道链接库中子程序名称或模块名称即可。假定此时静态库 Sub.lib 文件已经生成,主程序也已经完成。剩下的工作就是如何运行主程序,并调用静态库,完成相应计算任务。在主程序代码 Program Main 后添加语句“!MS$OBJCOMMENT LIB:Sub.lib”可以实现静态库的添加。其中“!”在此处是伪注释的用法,用来声明将 Sub.lib链接库文件添加到主程序中。该行在编译的过程中并不是注释语句,可以与编译器进行通讯,不可
9、缺失。当主程序调用(静态库中的)子程序,如 Sub1 时,只需在主程序代码中需要调用 Sub1 的位置使用 Callsub1 语句来声明调用子程序,其中 Sub1 为子程序名。当然,需要注意的是需将名为 Sub.lib 的链接库文件存放到主程序所在的目录下连接时才可以搜索到。此时,便可打开主程序,如 A.for,执行 Bulid 命令,可以看到编译连接成功,即可执行 Bulid Execute A.exe,主程序会调用静态库中子程序 Sub1 完成计算。1.4含 Module 模块的静态链接库一些程序封装为模块使用起来可能更方便,只要在主程序代码中使用 Use ModD 语句就可调用模块中相应
10、函数及子程序,其中 ModD 为模块名。将 Module模块编译为静态库时,同样要先建立 Static Library 类型的名为 Module 项目工作空间。含 Module 模块的静态库程序代码 Mod.for 结构如下:Module ModDContainsEndSubroutineEndModule中间省略的代码为子程序代码,需要指出此时子程序结束语句应当用 End Subroutine 而不能采用省略Subroutine 的 End 形式。依次执行 Compile 和 Bulid 命令,在 Debug 或 Release 目录下会生成 modd.mod、Mod.obj 文件和 Mod
11、ule.lib 文件。扩展名 mod 文件为模块,lib 文件为静态库文件。主程序接入含 Module 模块的静态库时首先使用语句“!MS$OBJCOMMENT LIB:Module.lib”添加静态库,使用模块时需要用 Use ModD 语句声明使用,使用 Call sub 命令可调用相应的子程序。此处需要注意的是,应将 modd.mod 模块文件和 Module.lib 链接库文件同时存放到主程序的目录下。链接库可以嵌套使用,因此在将 Module 模块编译为链接库时也可调用其他静态库。2静态链接库的更新维护由于不同问题的复杂性,往往要对程序进行不断改进来适应更多的情况,因此就需要对已经生
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Fortran Powerstatio 4.0静态链接库建立与使用 4.0 静态 链接 建立 使用
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。