私は何をしなければならないのですか?コンパイラのフック/メソッドの出力のフック(C# - C++)
学生がエクササイズからいくつかのC++コードをアップロードできるようにする必要があります。このアップロードされたコードは、そのエクササイズの「ベストコード」と比較する必要があります。そして、それらの比較から、学生が良いコードや悪いコードをアップロードした場合、サーバはフィードバックを返します。 EG:1から10のアーリーリストを作って、生徒がコードをアップロードできるようにすることです。サーバーはそれを他のコードと比較し、フィードバックを与えます。
これは、ユーザーがコード化できるさまざまな変数のため、単なるファイル比較者になることはできないため、簡単に言えます。それで、私は外部コンパイラを使って出力を得て、この出力を "ベストコード"の出力と比較するようにしていたのです。または、コンパイラ内でフックを取得するために詳細なので、すべてのメソッドとすべての変数をチェックできます。
他の考え方、どのように確認したり比較したりできますか? 既に存在するプログラムはありますか?
非常に感謝し、 マイケル
楽しんでください。あなたはpropably、*信じられないほど正しい*あなたがこれが「完了したよりも簡単だ」と言っていることを認識していない。とにかく、他のプロジェクトではライブラリとしてハッキング可能で再利用可能と明示的に設計されたC/C++/ObjCコンパイラであるClangを見てください。 – delnan
Big0表記も考慮する必要があります。 – Nocturnal
エクササイズはどのくらい簡単ですか?それが1行か2行以上であれば、それを単に名目上の最良の例と比較するだけでは役に立ちません。それを自動化しようとすると、たくさんの生徒が表示されます。それに固執すれば、教授は学生たちの間で悪い評判を得ることができますし、最近は悪者が誰でも見ることができるようになっています。 –