1

我无法找到在 matlab 中创建名为管道的窗口的示例。

关于如何编程或在哪里看的任何建议?

4

1 回答 1

5

使用 .NET 的System.IO.Pipes可能是开箱即用的最简单方法,比编写 MEX 文件来调用 Win32 API 更容易。Matlab 允许您直接从 M 代码调用 .NET,并且对对象进行管理,因此资源清理会更容易。.NET 3.5 和更新版本支持命名管道。

生成的 M 代码看起来像这样。(抱歉;我目前没有 Matlab,所以无法测试。)

NET.addAssembly('System.Core'); %# might be superfluous
pipeStream = System.IO.Pipes.NamedPipeServerStream('testpipe', System.IO.Pipes.PipeDirection.Out);

如今,我认为 .NET 是访问 Matlab 不直接公开的本机 Windows 功能的最简单方法。因此,对于这样的事情,首先要尝试的是寻找在 C# 中执行此操作的示例。如果可以使用 .NET 标准库功能在 C# 中完成,您通常可以将其直接转换为 M 代码。例如,我通过谷歌搜索“创建命名管道 .net”并获取此示例找到了这个。Loren 在这里讨论了这种技术。

于 2012-09-30T00:41:11.213 回答