Fortran Coder

标题: fortran调用C代码读取文件内容到数组,数组如何声明 [打印本页]

作者: mars_cfeng    时间: 2014-12-27 09:47
标题: fortran调用C代码读取文件内容到数组,数组如何声明
有一个C代码读取二进制文件,提供了一个fortran借口输出 一个数组。void rdbin_(const char *name, int *ns, float *ar)

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

作者: 安靖    时间: 2014-12-27 11:31
我要差不多遇到了类似的问题。要用fortran调用c++的接口。
我在fortran中声明了动态数组,想在C++中开内存空间,然后处理完后,再传给fortran。
但是在c++中内存是开出来了,填充的数据也对了,但是没能成功的传给fortran
作者: fcode    时间: 2014-12-27 22:38
参考这个回答 http://bbs.fcode.cn/thread-447-1-1.html,你俩的问题一样。

建议你先获得大小,然后分配数组后再传递。
作者: mars_cfeng    时间: 2014-12-30 08:17
O(∩_∩)O哈哈~,谁定义 谁分配 谁释放! 说的好,还是要先获取 数组大小!




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2