Fortran Coder

查看: 79101|回复: 89
打印 上一主题 下一主题

[绘图界面库] Fortran适合科学计算,界面交给Tcl/TK、PureBasic!

  [复制链接]

69

帖子

7

主题

0

精华

专家

F 币
320 元
贡献
224 点
楼主
发表于 2014-1-30 08:29:24 | 显示全部楼层
本帖最后由 jason388 于 2014-2-21 08:36 编辑

据说Fortran2015会把N1942-TS 29113 Further Interoperability of Fortran with C正式纳入标准之中,因此利用C去开发界面将更有优势,因为C可以直接处理Fortran的可分配数组和指针,因此可以认为是能够做到无缝连接。

69

帖子

7

主题

0

精华

专家

F 币
320 元
贡献
224 点
沙发
发表于 2014-1-30 08:31:45 | 显示全部楼层
实际上,如果自己用,界面真的不是太重要。如果为了数据可视化,可以用gnuplot和paraview。开发界面还是要花很多工夫的。

69

帖子

7

主题

0

精华

专家

F 币
320 元
贡献
224 点
板凳
发表于 2014-2-1 20:21:40 | 显示全部楼层
lm_lxt 发表于 2014-1-31 20:15
这样的话代码参数传递方便很多,GUI响应速度会更高,但是开发效率一般。 ...

如果也很熟悉C/C++的话,开发效率不会低啊。因为函数调用和数据交换都能很容易实现,可以很方便地同步开发和调试。

69

帖子

7

主题

0

精华

专家

F 币
320 元
贡献
224 点
地板
发表于 2014-2-1 20:29:00 | 显示全部楼层
lm_lxt 发表于 2014-1-31 20:20
自己用能加上一点前后处理用起来也方便,比如通过界面将结果写入excel总比从记事本或者UE中粘贴到excel中 ...

直接在Fortran代码中输出Gnuplot或Paraview格式的数据,再运行这两个软件就可以了。如果用Fortran代码直接调用这两个软件也是可以的。当然在GUI界面中也可以实现同样的功能,只不过弄界面要花点儿时间。如果熟悉这两个软件,基本上不需要excel。

69

帖子

7

主题

0

精华

专家

F 币
320 元
贡献
224 点
5#
发表于 2014-2-1 20:30:46 | 显示全部楼层
fcode 发表于 2014-1-31 20:20
那岂不是 C 的编译器和 Fortran 编译器要捆绑销售了?呵呵...
开发效率和执行效率总是不能兼得。
PS:祝 ...

用GCC和GFortran就可以了。

69

帖子

7

主题

0

精华

专家

F 币
320 元
贡献
224 点
6#
发表于 2014-2-7 10:50:17 | 显示全部楼层
lm_lxt 发表于 2014-2-7 08:36
这是能编写GUI的几个库,不过都要钱:
http://www.polyhedron.com/graphicsguitools

除了收费之外,我觉得最大的问题是可移植性。对于我自己来说,在单位用windows系统,在家里很多时间用linux,所以自己用的代码需要适应windows和linux。即使是windows系统,随着系统升级,用老的系统开发的东西重新编译也有问题,比如用fortran powerstation、digital fortran等开发的软件。所以无论是界面还是计算模块,最好从开发伊始就考虑好,避免以后的麻烦。

在必须给fortran代码做界面时,我现在一般选择用wxWidgets,该界面库对于熟悉MFC编程的人来说非常容易上手。

69

帖子

7

主题

0

精华

专家

F 币
320 元
贡献
224 点
7#
发表于 2014-2-21 08:43:53 | 显示全部楼层
lm_lxt 发表于 2014-2-7 20:07
用GTK,地址如下(资料很新):
http://fortranwiki.org/fortran/show/GUI+Development
感兴趣的可以大概 ...

Gtk-Fortran看起来确实不错,通过Fortran与C的互操作功能,Gtk-fortran实现了Fortran直接编写GUI界面,这对只熟悉Fortran的人来说是个福音,同时因为是采用Gtk,因此可移植性没有问题。

69

帖子

7

主题

0

精华

专家

F 币
320 元
贡献
224 点
8#
发表于 2014-3-9 21:34:26 | 显示全部楼层
fcode 发表于 2014-3-7 18:47
这两者还是各有优缺点吧。

GTK 在跨平台和代码重复使用方面会好一些,如果暂时不考虑上手难度的问题,统 ...

在windows8下用mingw编译并运行了gtk-fortran自带的例子gtkhello2,感觉用起来并不复杂。当然因为无论是编译还是界面代码都要自己生成,若习惯IDE编程初期会觉得有点麻烦。

69

帖子

7

主题

0

精华

专家

F 币
320 元
贡献
224 点
9#
发表于 2014-3-10 16:48:38 | 显示全部楼层
本帖最后由 jason388 于 2014-3-11 08:45 编辑
lm_lxt 发表于 2014-3-10 15:27
You will need:
•Fortran compiler (recommended is gfortran 4.6 or higher: included in MinGW http:/ ...

实际上不需要那么复杂。我是按下述方式处理的:
1. MinGW编译环境,其安装目前有图形界面,当然要确保勾选了gfortran选项。缺省安装到c:\mingw,并设置访问路径到c:\mingw\bin; 如果已有可运行gcc较新版本,这一步可跳过;
2. gtk-fortran,我下载的是gtk3包,解压到任意目录,比如d:\work\gtk-fortran; 把src目录下的*.f90文件均编译为目标文件(当然与unix或linux相关的可以不编),如果愿意可以生成库文件;
3. 下载gtk+3.6.4 all-in-one bundle包并解压到c:\gtk,把c:\gtk\bin加到访问路径中,按readme中给出的测试方法确认gtk3-demo可以运行。这里要注意的是安装的路径中目录名不要有空格,其实所有从linux移植到windows的程序安装时最好都这样做;
4. 到gtk-fortran安装目录的examples目录下按上一级目录的readme编译gtkhello2.f90. 这里要注意的是如果gfortran找不到gtk库,说明pkg-config未起到作用,可以单独运行pkg-config --cflages --libs gtk+-3.0并把其显示内容人为加到gfortran的命令行上即可。
5. 编译后的gtkhello2.exe运行需要相应的dll,把c:\gtk\bin下的dll拷贝到可执行文件目录下就行了。

其他例子应该都可以类似处理,运行后的平面截图gtk-fortran的目录下或其网站下有。

cmake等可以不安装。

69

帖子

7

主题

0

精华

专家

F 币
320 元
贡献
224 点
10#
发表于 2014-3-10 17:07:10 | 显示全部楼层
本帖最后由 jason388 于 2014-3-10 17:19 编辑
lm_lxt 发表于 2014-3-10 15:32
Linux是一个非常简洁、高效的操作系统,其命令行工作方式更是十分强大,相比Windows和Mac这种“娱乐型”操 ...

这些东西仁者见仁,智者见智。总的原则是适合自己就好,别人的经验参考一下就行了。比如LaTeX可以生成ps或pdf,非常适合科学排版(写论文比word好用),但学起来有一定难度且国内很多高校和出版社不支持latex文档;linux下写程序,相当多的人用make编译工程并用emacs或vi作为编辑环境,并强调命令行的优势而少用ide,等等。

linux与windows比较起来,占用系统资源少,free或开源的软件资源多,所以还是值得学习的。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-5-19 16:59

Powered by Tencent X3.4

© 2013-2024 Tencent

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