找回密码
 注册
Simdroid-非首页
查看: 259|回复: 2

[3. Fortran] 怎样在C++中调用fortran程序(转载)

[复制链接]
发表于 2005-7-7 09:28:21 | 显示全部楼层 |阅读模式 来自 黑龙江哈尔滨
【 作者:  bloodboy 】

   !先给出一例:
   !子程forsub.f90   
   subroutine forsub(ivar,rvar)
    integer ivar
real rvar
write(*,*)ivar,rvar
   end
   !编译生成forsub.obj  

   !主程main.cpp
   #include <iostream.h>
   extern "C" { void __stdcall FORSUB(int &i,float &f); }
   void main()
   {
    int iCVar = 3;  
float rCVar = 2.0;
FORSUB(iCVar,rCVar);
   }  

   编译前需进行必要的设置
   
   选择 工程\设置 弹出属性卡 选择分类项,选择link项
   在对象\模块中填入 forsub.obj (之前将forsub.obj拷入该工程文件夹中)

   在编译中提示缺少dfor.lib dfconsol.lib 在f90环境中寻两文件,拷到
   工程文件夹中

   设置后即可编译链接生成可执行程序 
发表于 2005-7-7 10:02:30 | 显示全部楼层 来自 日本

Re:怎样在C++中调用fortran程序(转载)

Simdroid开发平台
混合语言编程的具体实现与编译器的具体环境有关,上文可能是CVF和VC(不是C++)的混合,如不说明这一点就有点误人子弟了。
可参见cfortran.h,它几乎考虑了除Windows的几乎所有环境下的c,fortran混合。
 楼主| 发表于 2005-7-7 13:41:37 | 显示全部楼层 来自 黑龙江哈尔滨

Re:怎样在C++中调用fortran程序(转载)

多谢指正
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-11-2 01:23 , Processed in 0.041125 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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