主题:有人用过64位的Matlab和Fortran混编吗?
接口函数里的声明格式有些不一样。
原先32位是
integer plhs(*),prhs(*)
integer nlhs,nrhs
编译都挺成功的
现在64位是
mwPointer plhs(*),prhs(*)啥的
integer nlhs,nrhs
这里面有个新类型mwPointer,据说是大小为integer*8的指针,专为64位用的
但是这个类型必须在fortran里加入一个#include "fintrf.h"的台头(Matlab的help里面说的)
但是不知道为什么matlab编译不了 好像识别不了这个"fintrf.h"里的内容
有人懂吗?多谢!
ps:如果我直接用integer*8或者integer*8,pointer::也不成,能编译,但是数据传递不对。
原先32位是
integer plhs(*),prhs(*)
integer nlhs,nrhs
编译都挺成功的
现在64位是
mwPointer plhs(*),prhs(*)啥的
integer nlhs,nrhs
这里面有个新类型mwPointer,据说是大小为integer*8的指针,专为64位用的
但是这个类型必须在fortran里加入一个#include "fintrf.h"的台头(Matlab的help里面说的)
但是不知道为什么matlab编译不了 好像识别不了这个"fintrf.h"里的内容
有人懂吗?多谢!
ps:如果我直接用integer*8或者integer*8,pointer::也不成,能编译,但是数据传递不对。