2011-04-22 6 views
2

Cアプリケーションを.Netに翻訳して、タスクを自動化する方法を考えたいと思います。私は "解析"やCファイルをコンパイルする必要はなく、むしろプロジェクト構造を再作成し、Cファイルに対応する.Netクラスを作成したい.YACC/LEXツールや他のパーサージェネレータ? CコードからASTを作成できたら、おそらくC#コードを取得できますか?考え直しでc - > c#翻訳、ツール

からC++から変換するにはcode2codeを発見

+6

これを行うツールがあっても、私はそれを使うのは良い考えではないと思います。イディオムCとイディオムC#はほぼ完全に異なります。それは正しく書かれています(または、たくさんのコードがある場合は、Cで書かれていて、C#でラップしてください)。 –

+0

(これは怒っているわけではありません)それが使用されるのを見るたびに、誰かを苛めさせるようです。あなたがイディオム的に書くなら、私の推測はおそらくあなたの道を進んでいるでしょう。 –

+1

@Gabriel - 慣用コードは、特定の言語に書かれていると認識しているコードです。まっすぐな翻訳は、しばしば悪くて維持不能です。英語からドイツ語に翻訳するときと同じように、プログラミング言語で表現される方法も考慮する必要があります。 –

答えて

3


一般的には、あなたは、実装を再設計し、C#でコードを書き換えるからbenifit可能性が最も高いです。 .NETライブラリの機能を利用すると、C言語で多くの行を使用していた多くのものが時には1行になることがあります。コードベースをより小さく、効率的に、より簡単に管理できます。

+0

を参照してください。しかし、これはおそらくC++はオブジェクト指向であるためです。 Cでは、C#でそれらを知っているオブジェクトはありません。 – andrewjs

+1

+1コメントを再入力してください。 IMO CとC#は非常に異なっているため、あらゆる種類の変換が悪くなります。 – Euphoric

+0

リンクがうまくいかないようです((しかし、とにかく、ありがとうと思います。) –

関連する問題