ネットワーク経由でインクルードを読み取るときにコンパイル時間を短縮するにはどうすればよいですか?

ネットワーク経由でインクルードを読み取るときにコンパイル時間を短縮するにはどうすればよいですか?

私のプロジェクトは非常に小さいですが、いくつかのインクルードがネットワーク上でホストされています。ローカルの同期されていないコピーをミラーリングせずに、コンパイル時間を短縮し、待ち時間を減らす方法はありますか?

すでにソースをシステム (Windows) のローカル フォルダーにマップし、ファイルを「オフラインで使用可能」に設定してローカルで同期しています。しかし、コンパイルしようとすると、ネットワークから読み取っている (ように見える) ため、ネットワーク速度が急上昇します。コンパイルが完了すると、ネットワーク速度はゼロに低下します。

これらのファイルとディレクトリをオフラインで使用できるように設定しているのに、なぜローカル キャッシュが使用されないのでしょうか? それとも、オフラインのときにのみキャッシュを照会するのでしょうか? キャッシュを強制的に読み取らせることはできますか?

私の開発環境は Windows 10 x64 で、ファイルは CentOS 7 と samba を実行しているローカル サーバーでホストされています。コマンド ラインから Make を使用してコンパイルしています。

答え1

実際、「オフラインで利用可能」機能は、ネットワーク共有にアクセスできなくなったときに、最後に取得したコピーがローカルで使用するためにキャッシュされることを意味します。

ただし、ネットワーク共有にアクセスできる限り、ネットワーク コピーが使用されます。そうでない場合、後でローカルで使用するために同期を実際に維持する方法はありません。リモート ファイルの変更と同期を継続的にチェックするバックグラウンド プロセスはありません。これは、「使用時に同期する」メカニズムです。

定期的にリモート ファイルをローカル フォルダーにコピーするスケジュール タスクを設定することもできます。時々、古いヘッダーでコンパイルされるリスクがありますが、それが実際に必要なことのようです。

関連情報