1

ドキュメントには、を介してスレーブカーネルから返されるパケットの順序が明確に記載されていませんMathLink。(headEnterExpressionPacketを使用して入力式を送信し、標準モードで作業する場合):

1)次の前の最後のパケットInputNamePacketは常に ReturnExpressionPacket

2)常に1つだけである可能性がありReturnExpressionPacketます OutputNamePacketEnterExpressionPacket

3)ReturnExpressionPacket常に次のOutputNamePacket

4)MessagePacket次のパケットの後には常にTextPacketそのメッセージのすべての内容が含まれています

InputNamePacket5)標準モードで返されるパケットは7種類のみですOutputNamePacket:、、、、、、、、 。ReturnExpressionPacketDisplayPacketDisplayEndPacketMessagePacketTextPacket

これらのステートメントのどれが正しいですか?

4

1 に答える 1

4
  • 1はおそらく保証されていません。
  • 2は間違いなく真実ではありません(評価: "2 + 2 \ n2 + 3")。
  • 3はおそらく正しいですが、おそらく保証されていません。
  • 私は4が本当だと信じています。
  • 5は保証されません。

一般に、カーネルからのパケットの順序に依存しないようにコードを作成する必要があります。新しいInputNamePacketを受け取るまで、評価は「アクティブ」と見なされます。OutputNamePacketはいくつかの変数を更新する必要があります。ReturnExpressionPacketは、その変数からの現在の出力名を使用する必要があります。不明なパケットを受け取った場合は、それを無視して次のパケットに進んでください。

于 2011-02-21T17:52:31.797 に答える