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 vues (au cours des 30 derniers jours)
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.

Réponse acceptée

MathWorks Support Team
MathWorks Support Team le 27 Juin 2009
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

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB Compiler dans Help Center et File Exchange

Produits


Version

R2008a

Community Treasure Hunt

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

Start Hunting!

Translated by