2

これは本当の質問です。

プロセス/スレッド間でデータを送信するために名前付きパイプを使用していますが、このデータは文字列型であり、この方法で渡してオブジェクトを渡すことができますか?

とにかくオブジェクトを渡すことはありますか?

私の問題は次のとおりです。

スレッド ミサイルとプロセス ワールドがあります。World はミサイルの位置を受け取り、新しい位置の計算を返します。

現在、パイプに書き込まれている文字列から情報を取得してこれを行っています。これをオブジェクトまたはタプルとして渡す方法はありますか?

誰かがこれで私を助けることができれば、それは素晴らしいことです! ありがとう。

4

2 に答える 2

6

このモジュールを使用しMarshalて、バイトストリームを介して任意の OCaml 値を渡すことができます。正しく理解するのは難しいので、マニュアルのマーシャル セクションを読むことをお勧めします。主なことは、型ではなく値のみを渡すことです。したがって、受信側のプロセスでは、渡されるオブジェクトの正確な型を定義する必要があり、受信側で型を明示的に指定する必要があります。

OO スタイルのオブジェクトを含む関数を含む値は、同じプログラムのコピー間を除き、マーシャリングできません。おそらくこれはあなたのケースに当てはまるかもしれませんが(スレッドがあると述べているため)、とにかくタプルを使用する方が良いかもしれません。

于 2012-12-12T04:06:02.950 に答える