Mex Fortran с nagfor, только вызывает функции

Я пытаюсь что-то, что не поддерживается. Я хочу использовать компилятор 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 Пример с Фортрана.

Я использовал очень простой код ниже, и это хорошо работает.

#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 ответов

Другие вопросы по тегам