Fortran Coder

查看: 6030|回复: 3
打印 上一主题 下一主题

[混编] fortran调用C代码读取文件内容到数组,数组如何声明

[复制链接]

16

帖子

4

主题

0

精华

入门

F 币
106 元
贡献
59 点
跳转到指定楼层
楼主
发表于 2014-12-27 09:47:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有一个C代码读取二进制文件,提供了一个fortran借口输出 一个数组。void rdbin_(const char *name, int *ns, float *ar)

//name是文件名 ns是点数 ar是数组
fortran调用这个接口该如何操作?
1. 我觉得要是调用接口之前把数组定义的足够大,也是能解决问题的
可是显然程序不具有扩展性内存效率也很低
2. 还能如何?
分享到:  微信微信
收藏收藏1 点赞点赞 点踩点踩

62

帖子

14

主题

0

精华

专家

F 币
557 元
贡献
326 点
沙发
发表于 2014-12-27 11:31:32 | 只看该作者
我要差不多遇到了类似的问题。要用fortran调用c++的接口。
我在fortran中声明了动态数组,想在C++中开内存空间,然后处理完后,再传给fortran。
但是在c++中内存是开出来了,填充的数据也对了,但是没能成功的传给fortran

2033

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1641 元
贡献
709 点

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

板凳
发表于 2014-12-27 22:38:56 | 只看该作者
参考这个回答 http://bbs.fcode.cn/thread-447-1-1.html,你俩的问题一样。

建议你先获得大小,然后分配数组后再传递。

16

帖子

4

主题

0

精华

入门

F 币
106 元
贡献
59 点
地板
 楼主| 发表于 2014-12-30 08:17:45 | 只看该作者
O(∩_∩)O哈哈~,谁定义 谁分配 谁释放! 说的好,还是要先获取 数组大小!
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-12-25 00:23

Powered by Tencent X3.4

© 2013-2024 Tencent

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