1.2Mの従来のVisual C++ 6コードベースがあり、それを近代化するさまざまな方法を検討しています。 1つのアイデアは、このコードをC++にコンパイルしてC++/CLIコードとしてコンパイルし、その後Reflectorのようなツールを使用してC#に逆コンパイルし、そのコードベースを今後も維持することです。C++/CLIを使用してC++からC#にコンパイルする前に
これまで誰もこのようなことをしていませんか?実現可能なように聞こえますか?
1.2Mの従来のVisual C++ 6コードベースがあり、それを近代化するさまざまな方法を検討しています。 1つのアイデアは、このコードをC++にコンパイルしてC++/CLIコードとしてコンパイルし、その後Reflectorのようなツールを使用してC#に逆コンパイルし、そのコードベースを今後も維持することです。C++/CLIを使用してC++からC#にコンパイルする前に
これまで誰もこのようなことをしていませんか?実現可能なように聞こえますか?
CLIやリフレクターの直接の経験はありませんが、あなたが思いついたものは、かなり醜いC#のように見えるかもしれないと思います。
なぜ少数の代表ファイルを変換してみてはどうでしょうか?
私の勘は、コードをVS10にしてC++にしておく方がいいでしょう。
C + +/CLIの5年以上の開発者として、それを絶対に避けてください。想像しているリフレクターを使ってC#のコードを手に入れることはできませんが、それはうまくいくとは思いません。 – greggorob64
単純に/clr
を渡すと、ライブラリ関数が使用されるすべての場所でC++ interopの使用が終了します。リフレクターはこれと何をするべきか分かりません。 C++標準ライブラリを.NETライブラリに変換するためのショートカットはありません.1:1の相関はなく、アーキテクチャ設計もかなり異なる傾向があります。
純粋な計算を実行する関数の場合、醜いが動作するかもしれません。
コンパイルは、機械コードまたは中間形式のいずれかに、通常、情報の*ロット*を失います。生成されたコードは機能しますが、保守はできません。卵を解読することはできません。 –