How to determine MEX API version?

1 vue (au cours des 30 derniers jours)
Alain BARTHE
Alain BARTHE le 17 Mar 2016
Commenté : James Tursa le 8 Nov 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.

Réponse acceptée

James Tursa
James Tursa le 17 Mar 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 commentaires
Alain BARTHE
Alain BARTHE le 17 Mar 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 le 8 Nov 2018

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Write C Functions Callable from MATLAB (MEX Files) dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by