Очистите ресурсы MATLAB

Очистите клиентскую настройку

Можно очистить клиентскую настройку любое время после того, как это будет использоваться, чтобы создать клиентский контекст. Контекст копирует необходимые значения настройки, когда он создается.

Чтобы очистить клиентскую настройку, используйте функцию destroyConfig() mpsClientRuntime с указателем на клиентские данные конфигурации.

mpsClientRuntime* mpsruntime = mpsInitialize();
mpsClientConfig* config;
mpsStatus status = mpsruntime->createConfig(&config);
mpsClientContext* context;
status = mpsruntime->createContext(&context, config);
...
mpsruntime->destroyConfig(config);

Очистите клиентский контекст

Клиентский контекст инкапсулирует среду связи между клиентом и экземпляром сервера. Это требуется, чтобы выполнять функции MATLAB®. Контекст также выполняет много задач оптимизировать связи с экземплярами сервера.

Клиентский контекст не должен быть убран вплоть до клиента, сделан, оценив функции MATLAB.

Очистите клиентский контекст с помощью функции destroyContext() mpsClientRuntime с указателем на клиентские данные о контексте.

mpsClientRuntime* mpsruntime = mpsInitialize();
mpsClientConfig* config;
mpsStatus status = mpsruntime->createConfig(&config);
mpsClientContext* context;
status = mpsruntime->createContext(&context, config);
...
mpsruntime->destroyContext(context);

Очистите клиентское время выполнения

Когда вы закончены с помощью клиентского API, очищаете ресурсы во время выполнения с помощью функции mpsTerminate().

Примечание

mpsTerminate() не очищает клиентский контекст или клиентскую настройку. Они должны быть очищены прежде, чем вызвать mpsTerminate().

Очистите массивы MATLAB

Массивы MATLAB, сохраненные в переменных mpsArray, непрозрачны. Они содержат много полей, используемых, чтобы упорядочить данные между вашим клиентским кодом C и MATLAB Runtime. Переменные, содержащие массивы MATLAB, могут быть большими.

Очистите переменные, содержащие массивы MATLAB с помощью функции mpsDestroyArray(). Функция mpsDestroyArray() берет указатель на очищаемый массив MATLAB. Это освобождает всю от память, используемую массивом.

Примечание

При чистке массивов, используемых в качестве вводов и выводов вызова feval(), необходимо очистить все массивы MATLAB, содержавшиеся в массиве, прежде чем вы уничтожите массив MATLAB, указывающий на вводы или выводы.

Очистите данные, используемые в вызове feval().

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;