いいえ、実行可能ファイルは任意の場所から起動できます。技術的要件を満たしており、アプリケーションが正しい設定でコンパイルおよびリンクされていれば、準備は問題ありません。
いいえ、Live++ は完全に IDE に依存していません。
はい、Live++ はコードパッチのデバッグ情報ファイルを生成するため、Visual Studio、Rider、WinDbg などの一般的なデバッガーを追加設定なしでサポートします。
はい、Live++ はバージョン 14 以降、MSVC ツールチェーンと Clang の両方をサポートしています。
はい、Live++ はバージョン 14 以降、MSVC ツールチェーンと LLD の両方をサポートしています。
はい、Live++ は、関連するバイナリファイルから直接、ホットリロードに必要な情報を再構築できます。
はい!
Live++ は、FASTBuild、SN-DBS、IncrediBuild、独自の社内 (分散) ビルドシステム、および Visual Studio 以外の IDE で使用されるビルドシステムでテストされています。
いいえ!唯一の要件は、Live++ Agent を作成し、プロジェクトのビルドオプションを正しく設定することです。
API はヘッダーとして出荷され、エージェントの作成、モジュールの有効化、フックのインストールのためのマクロと関数を提供します。各フックには 1 行のコードが必要です。
Live++ は、さまざまな規模の複数のコードベースとゲームエンジンで広い範囲でテストされています。オンラインドキュメントに記載されている必要な手順をすべて実行し、よくあるミスや問題について FAQ を確認したにもかかわらず、Live++ をセットアップで動作させることができない場合は、こちらまで直接お問い合わせください。
この表は、本書で説明する Visual Studio の「エディットコンティニュ」の動作を一部参考にして作成したものです。
全般的なサポート | エディットコンティニュ | Live++ | 注記 |
---|---|---|---|
その他の IDE | いいえ | はい | Live++ は IDE に依存せず、Visual Studio を必要としません。 |
その他のエディターと外部ツール | いいえ | はい | Live++ は、コード変更を適用するのにデバッガーを必要としません。 |
複数のプロセス | いいえ | はい | Live++ はローカルプロセスとリモートプロセスの両方をサポートします。 |
外部から起動するアプリケーション | いいえ | はい | Live++ は、Live++ Agent がこのアプリケーション、またはそのいずれかのモジュールによってロードされている限り、任意のターゲットアプリケーションで動作します。Visual Studio からアプリケーションを起動する必要はありません。 |
サポートされているコード変更 | エディットコンティニュ | Live++ | 注記 |
---|---|---|---|
新しいグローバルデータまたは静的データの追加 | いいえ | はい | Live++ はこれをサポートし、これに応じてコンストラクター/動的イニシャライザーを呼び出します。 |
グローバルデータまたは静的データの変更 | いいえ | はい | Live++ は、すべてのグローバルデータと静的データに対してこれをサポートします。 |
静的ライブラリのコード変更 | いいえ | はい | Live++ は、共有ライブラリと静的ライブラリの任意の組み合わせをサポートし、プロジェクト設定に依存しません。 |
変更回数は無制限 | いいえ | はい | Live++ は、アプリケーションで利用可能なアドレス空間によってのみ制限されます。 |
サポートされているコード変更 | エディットコンティニュ | Live++ | 注記 |
---|---|---|---|
最適化されたビルド | いいえ | はい | Live++ は最適化、インライン化などをサポートし、デバッグ情報ファイルに出力されないデータシンボルでも動作します。 |
複数の PDB 形式 | いいえ | はい | Live++ は「エディットコンティニュのプログラムデータベース (/ZI)」を設定する必要がないため、広範なデバッグ情報がオブジェクトファイルに埋め込まれる /Z7 形式を使用する必要がある分散ビルドシステムをサポートします。 |
静的ランタイム ライブラリへのリンク (/MT および /MTd) |
いいえ | はい | Live++ は、静的ランタイムライブラリおよび動的ランタイムライブラリへのリンクをサポートしています。 |
制御フローガード (/guard:cf)、 /ORDER、関数レベル リンク付け (/Gy) |
いいえ | はい | Live++ は、任意のコンパイラーとリンカーのオプションの組み合わせに完全に対応しますが、エディットコンティニュでは関数レベルのリンクを設定する必要があり、他のオプションはサポートされません。 |
インクリメンタル リンクが必要 (/INCREMENTAL) |
はい | いいえ | Live++ はインクリメンタルリンクは必要ありませんが、代わりにホットパッチを使用します。Live++ は、インクリメンタルリンクサンクが使用できる場合は、利用することもできます。 |
ホットパッチ (/hotpatch) および /FUNCTIONPADMIN が必要 |
いいえ | はい | Live++ が 100% 確実に動作するには、これらのコンパイラーおよびリンカーオプションを設定する必要があります。 |