You can clean up the client configuration any time after it is used to create the client context. The context copies the required configuration values when it is created.
To clean up the client configuration, use the mpsClientRuntime
destroyConfig()
function
with a pointer to the client configuration data.
mpsClientRuntime* mpsruntime = mpsInitialize(); mpsClientConfig* config; mpsStatus status = mpsruntime->createConfig(&config); mpsClientContext* context; status = mpsruntime->createContext(&context, config); ... mpsruntime->destroyConfig(config);
The client context encapsulates the connection framework between the client and a server instance. It is required to evaluate MATLAB® functions. The context also performs a number of tasks to optimize the connections to server instances.
The client context should not be cleaned up until the client is done evaluating MATLAB functions.
Clean up the client context using the mpsClientRuntime
destroyContext()
function
with a pointer to the client context data.
mpsClientRuntime* mpsruntime = mpsInitialize(); mpsClientConfig* config; mpsStatus status = mpsruntime->createConfig(&config); mpsClientContext* context; status = mpsruntime->createContext(&context, config); ... mpsruntime->destroyContext(context);
When you are finished using the client API, clean up the runtime
resources using the mpsTerminate()
function.
Note:
|
MATLAB arrays stored in mpsArray
variables
are opaque. They contain a number of fields used to marshal data between
your C client code and the MATLAB Runtime. Variables containing MATLAB arrays
can be large.
Clean up variables containing MATLAB arrays using the mpsDestroyArray()
function.
The mpsDestroyArray()
function takes a pointer
to the MATLAB array being cleaned up. It frees all of the memory
used by the array.
Note:
When cleaning up the arrays used as inputs and outputs of an |
Clean up the data used in an feval()
call.
const mpsArray** const inVal = new const mpsArray* [numIn]; ... mpsArray **outVal = new mpsArray* [numOut]; ... status = mpsruntime->feval(context,funUrl, numOut, outVal, numIn, inVal); if (status==MPS_OK) { ... for (int i=0; i<numOut; i++) mpsDestroyArray(outVal[i]); delete[] outVal; } for (int i=0; i<numIn; i++) mpsDestroyArray(inVal[i]); delete[] inVal;