带有nagfor的Mex Fortran,只调用函数

时间:2014-03-26 10:56:53

标签: fortran mex nag-fortran

我正在尝试一些不受支持的东西。 我想使用NAG Fortran编译器(版本5.3.1)来编写Fortran文件。

使用命令:

nagfor -ideclient -abi=64 -compatible -fpp -I"C:\Program Files\MATLAB\R2013b\extern\include" -Wl,-shared -thread_safe -L"C:\Program Files\MATLAB\R2013b\bin\win64" timesto.F -lmx -lmex -lmat -o timesto.mexw64

我能够编译和链接timestwo.F Fortran示例的改编版本。

我使用了下面非常简单的代码,这很有效。

#include "fintrf.h"
  subroutine mexFunction(nlhs, plhs, nrhs, prhs)
C     Declarations
  implicit none
C     mexFunction arguments:
  mwPointer plhs(*), prhs(*)
  integer nlhs, nrhs
  call mexEvalString('why')
  end

请注意mexEvalString是一个函数。

如果我现在改变

  call mexEvalString('why')

进入

  call mexErrMsgTxt('why')

编译仍然有效。 然而,Matlab在没有给出任何指示原因的情况下崩溃。

我在两个陈述之间看到的唯一区别是,一个包含一个子程序而不是一个函数。

出了什么问题,我该如何解决这个问题?

0 个答案:

没有答案