dot net に移植したい C++ ユーティリティがいくつかあります。C++ アプリケーションを C# に移植するためのツールがあるかどうか疑問に思っていましたか?
自動化されたツールはコードを台無しにするだろうと思うので、おそらく、これが良い考えかどうかも尋ねるべきでしょうか?
dot net に移植したい C++ ユーティリティがいくつかあります。C++ アプリケーションを C# に移植するためのツールがあるかどうか疑問に思っていましたか?
自動化されたツールはコードを台無しにするだろうと思うので、おそらく、これが良い考えかどうかも尋ねるべきでしょうか?
確かに、活気のある市場です。C++ から C# に移行すると、問題なくコンパイルできる可能性があります。実際に機能させるには、行ごとに「ああ、明日自分を撃ちます」という努力が必要です。YMMV。
これはコメントである必要があります。しかし、コメントを投稿するのに十分な資格情報がありません。これはあなたの質問とはまったく関係ありません。私はそれがあなたに役立つと思いました。
より良い質問は、付加価値 (つまり、新機能) を得ることなく、なぜ動作するコードだけを移植するのでしょうか? 努力はほぼ確実に難しく、予想以上に時間がかかります。より良いのは、.Net の多くの相互運用機能を使用して、C# から C++ コードを呼び出すことです。C# に新機能を追加することに集中しますが、実際のコードを移植するために時間を無駄にしないでください。
私の会社であるSemantic Designsには、C++ から C# に変換するツールがあります。C++ (データ/クラス宣言、実行可能ステートメント) から C# への変換コア言語構造を処理します。翻訳ツールは、DMS Software Reengineering Toolkitに基づいています。
エキゾチックな構造 (COM 呼び出し、カスタム API など) を C# に変換するには、カスタマイズが必要です。見つけたツールには、そのようなカスタマイズが必要です。特定の状況の完全なセットに実質的に対応できる市販のツールはありません。
C++コードから.NETアセンブリを生成するC++/CLIコンパイラについてはどうでしょうか。最終的には、エントリポイントを作り直して.NETタイプを受け入れるようにします(たとえばSystem::String
、クラシックの代わりにchar *
)が、C#を使用しないことで.NETにすばやくアクセスできます。C ++ / CLIとC#の間の自動変換もありますが、C ++コードが.NET化された後でのみです(前述の、などへのSystem::String
変換generic<typename T> System::Collections::Generic::List
)