テスト、コードのやり直し、コンパイル、再実行ではなく、積極的にゲームをプレイし、アップデートをライブでテストできる C++ IDE を探しています。Windows 7 x86 プロフェッショナルを実行しています。
6 に答える
これは実際には答えではないため、おそらく支持を得るべきではありませんが、情報があります。
コードのランタイム更新を実行できる C++ IDE は知りませんが、不可能ではないことは間違いありません。すでに JIT コードになっている C++ アセンブラはたくさんありますが、ライブ アップデートは次のステップにすぎません。私の知る限り、IDE はまだ行っていません。
asmjitは C++ を JIT
できます Visual Studio は C++/CLI を JIT できます (これは完全に C++ ではありません) (RMartinho は、VIsual Studio が C++/CLI を IL にコンパイルしてから IL を JIT することを訂正します。技術的には異なります。)
clingは clang fruntend とLLVMバックエンドを使用します、JIT コード生成システムを備えています。
R.Martinho は、Microsoft Visual Studio には既にこの機能があることも思い出させてくれました。 http://msdn.microsoft.com/en-us/library/esaeyddf(v=vs.100).aspx コードを「停止」すると、変更を加えることができ、それらの変更が適用され、実行が再開されます。
この問題に取り組んでいる興味深いプロジェクトがhttp://runtimecompiledcplusplus.blogspot.co.uk/にあります。私自身は使用していませんが、まだ少し生であるとアクティブに見えます. Visual Studio 2010 コンパイラを使用します。
コンパイルせずに C++ コードを実行することはできません。言語間のわずかな構文の違いは問題にならないはずなので、1 つの言語だけに限定するべきではありません。
Unityにチャンスを与えることをお勧めします。かなり堅牢な無料版が利用可能です。スクリプトは C# (C++ に似た言語)、UnityScript (JavaScript に似た言語)、または Boo (Python に似た言語) で記述でき、コンパイルせずにすぐに結果をテストできます。
Visual Studio のエディット コンティニュはどうですか? これを使用するには、(ブレークポイントまたは一時停止ボタンによって) 実行を一時停止し、再コンパイルして再開する必要があります。プログラムの実行中にコードを編集できることに注意してください。ゲームをライブでテストできないことはわかっていますが、リソースをリロードする必要はありません。IDE 統合により、非常に簡単に使用できます。
ただし、変更をライブで表示したい場合は、Lua などのスクリプト言語の使用を検討してください。その目的の 1 つは、達成したいことです。
Runtime Compiled C++ の代替 wiki ページに、C++ コードのランタイム コンパイルのオプションをリストしました。
サウンドから、 RecodeまたはAlcantereaのいずれかに興味があるかもしれません。
プラグインを使用するように C++ ゲームを編成し、ゲーム中に新しい (バイナリ バージョンの) プラグインをロードする機能を追加します。
次に、ゲームをプレイし、プラグインを再コンパイルし、再ロードして (実行時にダイナミック リンカーを呼び出します)、プレイを続けることができます。
フェイルプルーフではありませんが、通常は機能する可能性があります。
もちろん、(またはスレッドの)呼び出しスタックにアクティブな呼び出しフレームがあるプラグインをアンロードすることはできません。古いプラグインのアンロードを避けることをお勧めします...