我问这个问题的原因是,我有一个应用程序(除其他外)在数据写入特定文件时调用 MATLAB .NET 组件。该组件读取文件并根据其中包含的数据创建图像。这工作得很好。
但是,当我使用底层应用程序额外处理“大量”数据并在表中显示处理后的数据时,对 MATLAB 的调用会引发内存不足异常,但仅当我处理如此大量的数据时数据。
这是否表明所调用的 MATLAB 进程将依赖于应用程序的可用内存?我想我只是不明白从 .NET 的角度调用 MATLAB 内存时是如何工作的。
(我还应该注意,我在每次调用 MATLAB 函数之前都调用了clear all,试图“从头开始”,但无论如何都会失败)
最佳答案
由 Matlab Builder NE
构建的
COM
组件是进程内 COM
服务器。这意味着它们是加载到应用程序内存空间中的DLL
。这意味着 MCR
(一种 Matlab-Virtual-Machine
)位于您的内存空间中。
我相信 .NET
组件的行为应该完全相同。
关于c# - MATLAB 通过 .NET 调用使用的内存是否独立于 .NET 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9398117/