1

サービス層を持つ古い C++ アプリケーションがあります。新しいアプリは C# で開発されます。それが完了する前に、それらの間で物事を共有する必要があります。C# の新しい項目は、既存のシステムに実装する必要がある場合があり、その逆も同様です。

既存のレイヤーのサービス メッセージは、コマンドを含むテキスト文字列で構成されます。C# で、既存のサービスと新しいサービスの間のブローカーを構築する必要があります。

入力と出力をより汎用的にする方がよい場合を除き、サービスには少なくとも 2 つの入力 (C++/C#) 関数と 2 つの出力 (C++/C#) 関数が必要になると思います。

システム間のブリッジとして機能するサービスの例はありますか (テキスト文字列の交換)。たとえば、これにはWCFが推奨されますか?

ありがとう

よろしく、なこり

4

1 に答える 1

2

C# で C++ コードを迅速にサポートする必要がある場合は、http://www.codeproject.com/Articles/19354/Quick-C-CLI-Learn-C-CLI-in-less-thanに示されているラッパーを検討してください。 -10分#A8

ここここにさらに例があります。

C# ネイティブ コードが作成されている間、一時的な解決策が得られます。

Platform Invoke を使用することもできます (チュートリアルとサンプルはこちら)。

  • アンマネージ DLL 内の各関数の関数ヘッダーを作成する必要があります。
  • 関数が存在する DLL を .NET に指定します。
  • 通常の .NET 関数と同じように、これらの関数を利用できるようになりました。

データ型を正しく一致させることに特に注意を払う必要があります。C# コードを定義するために、C++ ベースのコードの関数定義を用意しておくと役立ちます。

さらに情報が必要な場合はお知らせください:)

于 2013-11-13T09:23:45.377 に答える