Why do I get an assertion violation when I port my 32-bit FORTRAN MEX source to a 64-bit MATLAB 7.6 (R2008a) ?

3 ビュー (過去 30 日間)
I have an existing FORTRAN MEX source code which compiles and works fine on a 32-bit MATLAB. This source also compiles fine on 64-bit MATLAB, but it fails when I try to run it.

採用された回答

MathWorks Support Team
MathWorks Support Team 2009 年 6 月 27 日
Some legacy FORTRAN code use the following syntax to define the MEXFUNCTION:
SUBROUTINE MEXFUNCTION(NLHS, PLHS, NRHS, PRHS)
INTEGER PLHS(*), PRHS(*)
INTEGER NLHS, NRHS
This might compile and execute on a 32-bit platform, however, the recommended syntax is to use MWPOINTER as shown below (for any platform).
This is essential for the MEX file to execute successfully on a 64-bit platform.
SUBROUTINE MEXFUNCTION(NLHS, PLHS, NRHS, PRHS)
MWPOINTER PLHS(*), PRHS(*)
INTEGER NLHS, NRHS

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMATLAB Compiler についてさらに検索

製品


リリース

R2008a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by