Fortran Coder

查看: 8073|回复: 2
打印 上一主题 下一主题

[混编] Fortran和C++/C混合编程时,动态内存的传递

[复制链接]

1967

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1370 元
贡献
581 点

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

楼主
发表于 2014-12-27 12:41:14 | 显示全部楼层
fortran 的 allocatable 基本上没有办法与 C 语言的指针混合使用。
原因在于:
1.fortran的可分配数组比c数组信息量丰富,包括维度,每个维度的上下限,步长,首地址。(可以视为一个结构来描述)
2.C的数组指针只有首地址。
3.fortran的可分配数组结构描述,因不同编译器而不同。

我的建议是:
1.谁定义,谁分配,谁释放;谁打开,谁读写,谁关闭;
2.如果 fortran 定义,那么先通过 C 获得大小,然后由 fortran 分配,传递给 C 使用。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-5-13 05:08

Powered by Tencent X3.4

© 2013-2024 Tencent

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