関数呼び出し規約についてのアドバイスソケットを使用して
-
27-10-2019 - |
質問
私は、クライアント32ビットアプリケーションと64ビットアプリケーション間の関数呼び出しを行うためにソケットを使用することを計画しています。
どのようなソケットインタフェースを介して、変数とリターン・パラメータを渡し、関数を呼び出すための最良の手法だろう。私は何かを実装することができますので、私は、クライアントとサーバーの両方のコードを管理しています。
私はで構成されているソケットのパケットを持つことが、考えていました。 - 1単語:関数名の長さ(文字の#) - 文字列:実際の関数名 - 1ワード(バイト)長関数パラメータの - 関数のパラメータ
最も堅牢で拡張可能なアプローチがどうなるか、私に知らせてください。たぶん私は、コンパイラ、Webサービスや仮想マシンで規則を呼び出すことによって使用される原理を再利用することができます。
事前に感謝します。
解決
私はあなたがシリアル化のためのプロトコルバッファを使用することをお勧めします:
http://code.google.com/apis/ protocolbuffers /ドキュメント/参照/ CPP / index.htmlをする
チュートリアル:
http://code.google.com/apis/protocolbuffers/docs/ cpptutorial.htmlする
あなたが他の側にオブジェクトを送信するとき、あなたは完全いるProtobufメッセージを取得するために読んでくださいどのように多くのバイトを定義長のプレフィックス(32ビット整数)で開始します。
所属していません StackOverflow