0

c ++からc#へのトランスレータを見つけましたが、機能しません。(Code2Code.net)

coutでテストする

int main(int argc, char** argv)
{
cout << "Hello World";
return 0;
}

結果は次のようになります

public static int Main(string [] argv) 
{ 
cout << "Hello World"; 
return 0; 
} 

あなたへの私の質問は、= C ++からC#で動作する他の翻訳者ですか(無料である必要はありません)

4

4 に答える 4

7

この種の翻訳は非常に難しいので、私は何も知りません。管理されていない言語で書かれたコードを管理されている言語に翻訳しようとしています。コードを翻訳できたとしても、ほとんどすべてのメソッドがマークされているunsafeため、そもそもC#に移行するメリットのほとんどが無効になります。

これは悪い考えのようです。アプリケーションを最初から書き直すことを考えるべきです。

于 2009-02-16T16:05:18.817 に答える
6

私の提案は、最初にC ++ / CLIを使用して、C++コードを管理対象環境に移植することです。マネージドワールドで作業したら、その周りのC#で新しいコードをビルドします。積極的に変更されている既存のコードの重要な領域がある場合は、その時点でC#への移植を検討してください。

于 2009-02-16T16:18:07.227 に答える
0

C ++とC#で使用されるフレームワークは根本的に異なるため、C ++-> C#の翻訳エンジンでボイラープレートコードを安全に入力する(基本的な構文を修正する)以上のことができるとは思いません。翻訳者がポインタ演算などを処理する必要があるとすぐに。

C ++の複雑な構文とそれを使ってできるクレイジーなことを考えると(Boostを考えてください)、どんな翻訳者も遅かれ早かれ深刻な問題にぶつかると思います。いくつかの代替案については、このブログ投稿を参照してください。

于 2009-02-16T16:11:46.867 に答える
0

Code2Code.netは明示的に述べています

あなたは、このページが作業の半分しか行っていないことに同意します。

...

ほとんどの場合、変換されたコードはコンパイルさえされません。

于 2009-02-17T19:38:46.003 に答える