使用.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);
Run Code Online (Sandbox Code Playgroud)
如今,我认为.NET是访问Matlab没有直接暴露的本机Windows功能的最简单方法.所以对于这样的事情,首先要尝试的是寻找在C#中执行此操作的示例.如果可以使用.NET标准库功能在C#中完成,您通常可以将其直接转换为M代码.例如,我通过Googling找到了这个"创建命名管道.net"并得到这个例子.Loren在这里讨论了这种技术.
| 归档时间: |
|
| 查看次数: |
2697 次 |
| 最近记录: |