回 帖 发 新 帖 刷新版面

主题:怎样用vf做界面?

现在有Fortran编写的代码,想要在vf或者vc中做个界面,但是直接拷过去的话,在vc中貌似语法都通过不了,直接用vf可以做界面吗?求思路。本人小白一个。

回复列表 (共10个回复)

沙发


就是想问下,VC里面怎么调用Fortran啊?怎么改语法什么的?

板凳

如果是CVF,可以用混編。
如果是IVF,貌似不行。。。

混編就是新建一個工程,C代碼放在.cpp文件中,Fortran代碼放在.f90(或類似)文件中。然后編譯就行了:)

3 楼

[quote]如果是CVF,可以用混編。
如果是IVF,貌似不行。。。

混編就是新建一個工程,C代碼放在.cpp文件中,Fortran代碼放在.f90(或類似)文件中。然后編譯就行了:)[/quote]
cvf得装好vc才能用直接链接的方式混编
ivf得装好intel c compiler也能用直接链接的方式混编 主要是icl可以识别fortran代码
不同家族编译器之间 要考虑接口 命名大小写之类

4 楼


fortran 2003支持fortran和c的混编,因此可以用c/c++做界面,计算部分采用fortran。
具体用什么编译器,根据个人喜好而定。本人用g++ + wxwidgets(界面库) + gfortran。ide采用codeblocks,因为cb集成了通过插件wxsimith实现了wxwidgets rad。

当然最简单的方法是采用数据文件交换数据,这样就可以不考虑混编的问题了,而是通过在c/c++或fortran中直接调用可执行文件。

5 楼

[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 楼


晕,说的我都晕了,请大侠指们指教下如何下手啊?我用的是vc++,现在的源程序是Fortran编的。想在vc++中直接运用Fortran程序可行吗?如果要改的话工作量大不?还是要把Fortran程序做成dll在vc++中调用?VF能不能直接用Fortran代码做界面啊?

7 楼

[quote]
晕,说的我都晕了,请大侠指们指教下如何下手啊?我用的是vc++,现在的源程序是Fortran编的。想在vc++中直接运用Fortran程序可行吗?如果要改的话工作量大不?还是要把Fortran程序做成dll在vc++中调用?VF能不能直接用Fortran代码做界面啊?[/quote]
你说的vc++是什么, vc6的意思? 
vf又是什么,

8 楼

[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 楼


谢谢了,我用vF6.6的,只是想做个简单的界面就行,请问下,VF6.6中可以直接用quickwin来做界面不?有这方面的资料吗?

10 楼


可以做。查ide带的帮助文件,也可以参考自带的例子,或在网上搜一搜。

我来回复

您尚未登录,请登录后再回复。点此登录或注册