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);

最近では、Matlab が直接公開していないネイティブの Windows 機能にアクセスするには、.NET が最も簡単な方法だと思います。このような場合、最初に試すことは、C# で実行する例を探すことです。.NET 標準ライブラリ機能を使用して C# で実行できる場合は、多くの場合、M コードに直接変換できます。たとえば、「名前付きパイプ.netの作成」をグーグルで検索し、この例を取得することでこれを見つけました。Loren は、この手法についてここで説明しています。

于 2012-09-30T00:41:11.213 に答える