c# - MATLAB 通过 .NET 调用使用的内存是否独立于 .NET 应用程序?

标签 c# .net matlab matlab-deployment

我问这个问题的原因是,我有一个应用程序(除其他外)在数据写入特定文件时调用 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/

相关文章:

c# - 使用 Hashtable 对象作为 POST 请求的正文/参数(Xamarin Mono 中的 RestSharp)

c# - 在 C# 中,如何让一组任务完成后运行一个任务?

.net - .NET 中的 KeyDown 和 KeyPress 有什么区别?

matlab - 在matlab中,如何在图像上绘制网格

C# 错误 : Use of unassigned local variable

c# - 如何在同一 Controller 内的另一个 Action 中返回主视图?

.net - VB6 .Net 互操作。将 .Net Date 属性传递给 VB6 函数 ByRef 未更新

.NET 包管理

使用 Numpy 进行类似 MATLAB 的数组索引

matlab - 在Matlab中使用卷积对两个不同长度的序列进行互相关