0

120 万行のレガシー Visual C++ 6 コード ベースがあり、それを最新化するさまざまな方法を検討しています。1 つのアイデアは、このコードを変更して CIL に C++/CLI コードとしてコンパイルし、Reflector などのツールを使用して逆コンパイルして C# に戻し、そのコード ベースを維持することです。

誰かが前にこのようなことをしたことがありますか? それは実現可能に聞こえますか?

4

2 に答える 2

3

CLIやReflectorを直接体験することはありませんが、思いついたものがかなり醜いC#のように見えるかもしれないと思います。

少数の代表的なファイルを変換して、何が起こるかを確認してみませんか?

私の勘では、コードをVS10に移行して、C++のままにしておく方がよいでしょう。

于 2012-04-24T15:12:33.067 に答える
1

単純に を渡す/clrと、ライブラリ関数が使用されているすべての場所で C++ 相互運用機能を使用することになります。Reflector は、これをどうするかわかりません。C++ 標準ライブラリの使用を .NET ライブラリに変換するための近道はありません。1 対 1 の相関関係はなく、アーキテクチャ設計もかなり異なる傾向があります。

純粋な計算を実行する関数の場合、醜いが機能するものになる可能性があります。

于 2012-04-24T15:43:34.500 に答える