Fortran Coder

查看: 6906|回复: 4
打印 上一主题 下一主题

[混编] 求助:关于彭国伦fortran95上用fortran调用c例题

[复制链接]

5

帖子

2

主题

0

精华

入门

F 币
46 元
贡献
22 点
跳转到指定楼层
楼主
发表于 2021-10-17 11:29:09 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
正在学习fortran与c语言混编,完全根据教材上的案例上的代码进行编辑,为什么老报错?使用的是ivf2010编辑,恳请各位大佬给个能调用c的方法。
[Fortran] 纯文本查看 复制代码
module cprog
  interface
    subroutine SUBA(a)
    !DEC$ ATTRIBUTES C, ALIAS:'_sub1' :: SUBA
        integer :: a
        !DEC$ ATTRIBUTES REFERENCE :: a
        end subroutine
    subroutine SUBB(a)
    !DEC$ ATTRIBUTES C, ALIAS:'_sub2' :: SUBB
        integer :: a
        !DEC$ ATTRIBUTES VALUE :: a
        end subroutine
  end interface
end module cprog

program main
  use cprog
  implicit none
  integer(8)  :: a=10

  call SUBA(a)
  call SUBB(a)

  stop
end program

[C++] 纯文本查看 复制代码

#include <stdio.h>

#ifdef __cplusplus
extern "C" {
#endif

void sub1(int *num)
{
        printf("%d\n",*num);
}

void sub2(int num)
{
        printf("%d\n",num);
}

#ifdef __cplusplus
}
#endif



EX1202FORTRAN代码.txt (456 Bytes, 下载次数: 0) EX1202C代码 .txt (199 Bytes, 下载次数: 0)





分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

1958

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1341 元
贡献
565 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

沙发
发表于 2021-10-17 18:27:32 | 只看该作者
D:\OurDoc\Desktop\sdw>cl -c a.c -nologo
a.c

D:\OurDoc\Desktop\sdw>ifort f.f90 a.obj -nologo

D:\OurDoc\Desktop\sdw>f
10
10

D:\OurDoc\Desktop\sdw>


[Fortran] 纯文本查看 复制代码
module cprog
  interface
    subroutine SUBA(a) Bind(C,Name="sub1")
        integer(8) :: a
        end subroutine
    subroutine SUBB(a) Bind(C,Name="sub2")
        integer(8) , value:: a
        end subroutine
  end interface
end module cprog

program main
  use cprog
  implicit none
  integer(8)  :: a=10

  call SUBA(a)
  call SUBB(a)

  stop
end program

5

帖子

2

主题

0

精华

入门

F 币
46 元
贡献
22 点
板凳
 楼主| 发表于 2021-10-17 21:48:07 | 只看该作者
本帖最后由 风和 于 2021-10-17 21:53 编辑

然而,仍然会报上述错误,有没有可能是,我编译的lib是32位的,还是我的设置有问题,已经卡好多天了

1958

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1341 元
贡献
565 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

地板
发表于 2021-10-17 22:44:00 | 只看该作者
我亲自测了是OK的,你遇到问题的话,应该是一些地方没有设置正确,或者操作上有问题。

论坛里对于操作问题不是很容易沟通,你可以加我们的QQ群:2338021,找我(臭石头雪球)

798

帖子

2

主题

0

精华

大宗师

F 币
3793 元
贡献
2268 点
5#
发表于 2021-10-20 12:12:26 | 只看该作者
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-4-25 10:13

Powered by Tencent X3.4

© 2013-2024 Tencent

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