主题:怎样用vf做界面?
ckztms
[专家分:0] 发布于 2010-10-18 11:15:00
现在有Fortran编写的代码,想要在vf或者vc中做个界面,但是直接拷过去的话,在vc中貌似语法都通过不了,直接用vf可以做界面吗?求思路。本人小白一个。
回复列表 (共10个回复)
沙发
ckztms [专家分:0] 发布于 2010-10-18 11:45:00
就是想问下,VC里面怎么调用Fortran啊?怎么改语法什么的?
板凳
cgl_lgs [专家分:21040] 发布于 2010-10-18 12:01:00
如果是CVF,可以用混編。
如果是IVF,貌似不行。。。
混編就是新建一個工程,C代碼放在.cpp文件中,Fortran代碼放在.f90(或類似)文件中。然后編譯就行了:)
3 楼
dongyuanxun [专家分:7180] 发布于 2010-10-18 12:47:00
[quote]如果是CVF,可以用混編。
如果是IVF,貌似不行。。。
混編就是新建一個工程,C代碼放在.cpp文件中,Fortran代碼放在.f90(或類似)文件中。然后編譯就行了:)[/quote]
cvf得装好vc才能用直接链接的方式混编
ivf得装好intel c compiler也能用直接链接的方式混编 主要是icl可以识别fortran代码
不同家族编译器之间 要考虑接口 命名大小写之类
4 楼
jason388 [专家分:6150] 发布于 2010-10-18 13:28:00
fortran 2003支持fortran和c的混编,因此可以用c/c++做界面,计算部分采用fortran。
具体用什么编译器,根据个人喜好而定。本人用g++ + wxwidgets(界面库) + gfortran。ide采用codeblocks,因为cb集成了通过插件wxsimith实现了wxwidgets rad。
当然最简单的方法是采用数据文件交换数据,这样就可以不考虑混编的问题了,而是通过在c/c++或fortran中直接调用可执行文件。
5 楼
dongyuanxun [专家分:7180] 发布于 2010-10-18 13:37:00
[quote]
fortran 2003支持fortran和c的混编,因此可以用c/c++做界面,计算部分采用fortran。
具体用什么编译器,根据个人喜好而定。本人用g++ + wxwidgets(界面库) + gfortran。ide采用codeblocks,因为cb集成了通过插件wxsimith实现了wxwidgets rad。
当然最简单的方法是采用数据文件交换数据,这样就可以不考虑混编的问题了,而是通过在c/c++或fortran中直接调用可执行文件。[/quote]
bind特性还是挺好的
不过wxwidgets用起来没Qt舒服(使用Qtcreator,cb可以使用Qt插件)
他的那些名字那么像MFC
6 楼
ckztms [专家分:0] 发布于 2010-10-18 15:59:00
晕,说的我都晕了,请大侠指们指教下如何下手啊?我用的是vc++,现在的源程序是Fortran编的。想在vc++中直接运用Fortran程序可行吗?如果要改的话工作量大不?还是要把Fortran程序做成dll在vc++中调用?VF能不能直接用Fortran代码做界面啊?
7 楼
jfnano [专家分:2370] 发布于 2010-10-18 20:13:00
[quote]
晕,说的我都晕了,请大侠指们指教下如何下手啊?我用的是vc++,现在的源程序是Fortran编的。想在vc++中直接运用Fortran程序可行吗?如果要改的话工作量大不?还是要把Fortran程序做成dll在vc++中调用?VF能不能直接用Fortran代码做界面啊?[/quote]
你说的vc++是什么, vc6的意思?
vf又是什么,
8 楼
jason388 [专家分:6150] 发布于 2010-10-19 10:26:00
[quote]
晕,说的我都晕了,请大侠指们指教下如何下手啊?我用的是vc++,现在的源程序是Fortran编的。想在vc++中直接运用Fortran程序可行吗?如果要改的话工作量大不?还是要把Fortran程序做成dll在vc++中调用?VF能不能直接用Fortran代码做界面啊?[/quote]
最简单的办法是把Fortran程序编译成可执行文件用vc++生成的界面中调用执行,两者之间通过数据文件传递数据;
fortran生成dll再由界面调用也可以,这时可以直接传递数据也可通过数据文件传递;
老的vf中有quickwin可以做界面,当然也可以通过调用系统api生成界面,但都不是很方便,一般复杂一些的界面很少有人这么做。
vc做界面可移植性不好,所以在前面的帖子中推荐用wxwidgets库,这个库的函数与mfc很相近,如果熟悉vc,应该很容易上手;当然qt也可以,但qt占的地方较大,与mfc的近似程度也不如wxwidgets。
9 楼
ckztms [专家分:0] 发布于 2010-10-19 14:11:00
谢谢了,我用vF6.6的,只是想做个简单的界面就行,请问下,VF6.6中可以直接用quickwin来做界面不?有这方面的资料吗?
10 楼
jason388 [专家分:6150] 发布于 2010-10-19 18:46:00
可以做。查ide带的帮助文件,也可以参考自带的例子,或在网上搜一搜。
我来回复