目录
[内存中的 MEX 文件](#内存中的 MEX 文件)
[C --- 内存中类的名称](#C — 内存中类的名称)
inmem函数的功能是内存中的函数、MEX 文件和类的名称。
语法
cs
[F,M,C] = inmem
[F,M,C] = inmem("-completenames")
说明
[F,M,C] = inmem 返回当前加载的函数、MEX 文件和类的名称。
**[F,M,C] = inmem("-completenames")**返回内存中函数和 MEX 文件的完整名称,包括文件路径和扩展名。对于类,函数的行为与在上述语法中相同。
示例
内存中的函数
列出在运行代码后保留在内存中的函数。清空内存,然后调用 magic 函数。
cs
clear all
X = magic(100);
返回当前加载的函数的列表。验证该列表是否包含 magic。
cs
F = inmem;
ismember("magic",F)
ans = logical
1
内存中的 MEX 文件
调用 MEX 函数 arrayProduct,然后验证该函数是否在内存中。要运行此示例,系统上必须安装支持的 C 编译器。
清空内存。然后,从 examples 文件夹复制源代码示例。
cs
clear all
copyfile(fullfile(matlabroot,"extern","examples","mex","arrayProduct.c"),".","f")
构建 MEX 文件并对其进行测试。输出显示特定于您的编译器的信息。
cs
mex arrayProduct.c
s = 5;
A = [1.5 2 9];
B = arrayProduct(s,A)
Building with 'Microsoft Visual C++ 2019 (C)'.
MEX completed successfully.
B =
7.5000 10.0000 45.0000
返回当前加载的 MEX 文件的列表。验证该列表是否包含 arrayProduct。
cs
[F1,M1] = inmem;
ismember("arrayProduct",M1)
ans =
logical
1
现在,返回 MEX 文件的完整名称,包括文件路径和扩展名。输出在当前文件夹中显示 arrayProduct。
cs
[F2,M2] = inmem("-completenames");
M2
M2 =
1×1 cell array
{'C:\work\MyExamples\arrayProduct.mexw64'}
参数说明
F
--- 内存中函数的名称
内存中函数的名称,以字符向量元胞数组形式返回。如果带 "-completenames" 调用 inmem,则返回值是包括文件路径和扩展名在内的全名。
M
--- 内存中 MEX 文件的名称
内存中 MEX 文件的名称,以字符向量元胞数组形式返回。如果带 "-completenames" 调用 inmem,则返回值是包括文件路径和扩展名在内的全名。
C
--- 内存中类的名称
内存中类的名称,以字符向量元胞数组形式返回。无论调用 inmem 时是否带 "-completenames",返回值都相同。
提示
- 如果在调用 inmem 时带 "-completenames" 之外的任何文本输入,其行为都如同未带任何输入进行调用一样。
扩展功能
基于线程的环境
使用 MATLAB® backgroundPool 在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool 加快代码运行速度。