Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Funciones MEX de C++

MEX o ejecutable se refiere a los programas que se cargan automáticamente y se puede llamar como cualquier función.MATLAB®MATLAB

C++ MEX API

Las funciones MEX de c++ se basan en dos API de C++:

  • La API de datos admite tipos de datos y optimizaciones como copiar en escritura para matrices de datos pasadas a funciones MEX.MATLABMATLAB Para obtener más información, consulte.API de datos de MATLAB

  • Un subconjunto de la API del motor de C++ admite las funciones de llamada, la ejecución de instrucciones en el área de trabajo y el acceso a variables y objetos.MATLABMATLABMATLAB Para obtener más información, consulte.C++ MEX API

La API de MEX de C++ admite características de C++ 11 y no es compatible con el. No puede mezclar estas API en un archivo MEX.

Diseño básico de C++ funciones MEX

Una función MEX de C++ se implementa como una clase denominada que hereda de.MexFunctionmatlab::mex::Function La clase reemplaza el operador de llamada de función,.MexFunctionoperator() Esta implementación crea un objeto de función que puede llamar como una función.

Llamar a la función MEX de crea una instancia del objeto de función, que mantiene su estado en las llamadas subsiguientes a la misma función MEX.MATLAB

Aquí está el diseño básico de una función MEX de C++. Es una subclase de que debe llamarse.matlab::mex::FunctionMexFunction Las invalidaciones de clase del operador de llamada de función,.MexFunctionoperator()

#include "mex.hpp"
#include "mexAdapter.hpp"

class MexFunction : public matlab::mex::Function {
public:
    void operator()(matlab::mex::ArgumentList outputs, matlab::mex::ArgumentList inputs) {
        // Function implementation
        ...
    }
};

Las entradas y salidas a la función MEX se pasan como elementos en un.matlab::mex::ArgumentList Cada argumento de entrada o salida es un contenido en el.matlab::data::Arraymatlab::mex::ArgumentList

Para obtener un ejemplo de cómo crear un archivo de origen MEX de C++. VerCree un archivo de código fuente MEX C++

Llame a la función MEX deMATLAB

Para llamar a una función MEX, utilice el nombre del archivo, sin la extensión de archivo. La sintaxis de llamada depende de los argumentos de entrada y salida definidos por la función MEX. El archivo MEX debe estar en la ruta de acceso o en la carpeta de trabajo actual cuando se le llama.MATLAB

Ejemplos de funciones MEX de C++

Estos ejemplos ilustran la implementación de las funciones MEX de C++:

Temas relacionados