How to determine MEX API version?

1 visualización (últimos 30 días)
Alain BARTHE
Alain BARTHE el 17 de Mzo. de 2016
Comentada: James Tursa el 8 de Nov. de 2018
I have written some years ago a C shared library to use with Matlab.
I was using the MX_API_VER preprocessor macro to detect MEX API version,
#include "mex.h"
#include "matrix.h"
#if (! defined MX_API_VER) || (MX_API_VER < 0x07030000)
/*
* Compatibiliy with older version of MATLAB
*/
typedef int mwSize;
typedef int mwIndex;
#endif
Unfortunately, it seems that the MX_API_VER has disappeared from matrix.h in Matlab 2016a.
Is there another way to detect MAX API version ?
Regards.

Respuesta aceptada

James Tursa
James Tursa el 17 de Mzo. de 2016
I have a complicated macro to detect API version at compile time that I could post, but if you are only trying to deal with the mwSize and mwIndex stuff you can check for MWSIZE_MAX. E.g.,
#ifndef MWSIZE_MAX
#define mwIndex int
#define mwSignedIndex int
#define mwSize int
#endif
  2 comentarios
Alain BARTHE
Alain BARTHE el 17 de Mzo. de 2016
I think your solution will be sufficient for my usage.
However, I was surprised to see that the following has disappeared from the matrix.h, when upgrading to 2016a.
#define MX_API_VER 0x7nnnnnnn
Many thanks for your quick answer.
James Tursa
James Tursa el 8 de Nov. de 2018

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Write C Functions Callable from MATLAB (MEX Files) en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by