Fortran Coder

查看: 6085|回复: 1

[科学软件] fortran调用lua读取文件中的参数(FortLua)

[复制链接]

250

帖子

2

主题

0

精华

宗师

F 币
1730 元
贡献
872 点

规矩勋章

发表于 2019-11-13 12:38:02 | 显示全部楼层 |阅读模式
本帖最后由 necrohan 于 2019-11-15 09:23 编辑

这几天要编一些程序,但是输入参数一直很头疼,因为fortran对输入格式要求比较严,由于刚开始编,输入参数顺序、个数要经常调整,注释也不方便,因此结合lua解决这个问题。

Lua处理配置文件较方便,有老外发布了fortran调用lua的代码。
(lua是最快的脚本语言,非常小巧,有兴趣可以学一点,但是存在各版本有不兼容的情况)


下面这个链接是各种语言使用lua的列表

http://lua-users.org/wiki/BindingCodeToLua


fortran调用lua的源代码各种实现:

Aotus  https://osdn.net/projects/apes/scm/hg/aotus/

f2k3-lua  https://github.com/MaikBeckmann/f2k3-lua/tree/simple

FortLua  https://github.com/adolgert/FortLua

luaf  https://bitbucket.org/vadimz/luaf/

FortLua 的例子中直接给了读取文件中数值、字符串的方法,比较简单,而且相关文件较少,主要包括:
  config.f90    唯一模块。用于载入 lua 文件读入数据
  program.f90 读入程序例子,演示读取各种数值的方法,根据自己需要修改
  vals.lua    读入程序需要的输入文件,包括环境变量、数值、字符串、函数
  ConfigParser.lua  lua中测试用,读入 lua 配置文件的函数,fortran编译不需要

此外还需要链接lua的lib文件,如果不想自己编译,可以从下面的地址找对应的lib文件下载
https://sourceforge.net/projects ... 20Libraries/Static/

我是win7 64系统,但需要用32位的lib文件,我链接的是 lua-5.3.5_Win32_vc10_lib.zip 中的 lua53.lib,且需要设置/NODEFAULTLIB:"LIBCMTD"。
编译环境 Intel(R) Visual Fortran Composer XE 2011 Integration for Microsoft Visual Studio 2010

附件是编译需要的源代码和project,不是原始文件,需要原始文件到前面的地址下载。

以上供大家参考。

另外补充一下,FortLua只能读入单个的数值,不能读入数组,Aotus可以。

FortLua.rar

174.71 KB, 下载次数: 1

953

帖子

0

主题

0

精华

大师

F 币
180 元
贡献
73 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
发表于 2019-11-14 08:42:57 | 显示全部楼层
fortran读文件很方便呀,我没觉得读文件还需要其他语言。

fortran 的 IO 是我用过最好的语言。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-3-29 15:44

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表