主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

清理 MATLAB 资源

清理客户端配置

在使用客户端配置创建客户端上下文之后,您可以随时清理客户端配置。上下文在创建时复制所需的配置值。

要清理客户端配置,请使用带有指向客户端配置数据的指针的 mpsClientRuntime destroyConfig() 函数。

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

清理客户端上下文

客户端上下文封装了客户端和服务器实例之间的连接框架。需要评估 MATLAB® 函数。上下文还执行许多任务来优化与服务器实例的连接。

在客户端完成对 MATLAB 函数的评估之前,不应清理客户端上下文。

使用带有指向客户端上下文数据的指针的 mpsClientRuntime destroyContext() 函数清理客户端上下文。

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 数组

存储在 mpsArray 变量中的 MATLAB 数组是不透明的。它们包含许多字段,用于在 C 客户端代码和 MATLAB Runtime 之间编组数据。包含 MATLAB 数组的变量可能很大。

使用 mpsDestroyArray() 函数清理包含 MATLAB 数组的变量。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;