您的位置:首页 > 编程语言 > C语言/C++

在FORTRAN的过程和函数中调用C++函数的方法

2008-03-04 18:08 302 查看
在FORTRAN的过程和函数中调用C++函数,可按如下三步处理(以调C++函数Sample为例)
1:在调用函数所在的Fortran函数的最前部要用USE 声明该函数 USE Sample_Mode
2:在Fortran文档中,需要说明Sample函数的接口
    MODULE  Sample_Mode
        INTERFACE
          SUBROUTINE Sample(nFlag,nFlagV )
      !MS$ATTRIBUTES C,ALIAS:’_Sample’:: Sample
      !MS$ATTRIBUTES REFERENCE :: nFlag
      !MS$ATTRIBUTES VALUE :: nFlagV
        INTEGER nFlag,nFlagV
          ENDSUBROUTINE
       END INTERFACE
    END MODULE
说明:
 !MS$ATTRIBUTES C,ALIAS:用来说明函数名间的关系,在‘’內为该函数在C++中的函数名,在::后为在FORTRAN中调用的函数名,两者可不同,也可相同。
  !MS$ATTRIBUTES REFERENCE :: nFlag 说明参数传递是引用方式,修改后对调用过程有效;
  !MS$ATTRIBUTES VALUE :: nFlag 说明参数传递是传值方式,修改后对调用过程无效;
3:在C++文档中,该函数的说明
    extern “C” void Sample(int *nFlag, int nFlagV )
   {
 }
 注意:此处“C”的C必需为大写。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息