これはちょっと狂っているかもしれませんが、私は次の考えを持っていました...アイデアC++の自動統一ビルドシステム、それは動作しますか?
#includeを使ってすべてのコードを1つのファイルに入れたり、単純にコピーして貼り付けたときに、これにより、稲妻の高速コンパイルが可能になります。
ここでは簡単にするため、ヘッダーのみのライブラリがあると仮定し、クラスを使用するように制限しています(名前空間には名前空間があります)。 これは自動化されていればうまくいかないかと思いました。スクリプト/ツールは、.hファイルを前処理します。インクルードと依存関係の抽出。このツールはすべての.hファイルを再帰的に処理し、インクルードの依存関係のマッピングを構築します。次に、#includesを使用してこれらの依存関係を1つのファイル(main.cpp)に置き、コンパイルします。
今、私はあなたの男の意見を自動統合の作成者のこのアイデアにしたいと思います。これはスマートですか?私はそれが期待通りに機能するだろうか?
150MBのファイルを作成するにはどのくらいの時間がかかりますか?私は、コードベースのためにビルドが一日中行われたという話を聞いてきました。 1つのファイルにすべてを組み込むときには数分かかりました。 – efel
私は他のビルドのために話すことができません - 私は知っているもののためにすることができます。さらに、どのくらいのメモリが必要ですか? LTOを単独で使用した例では、約35GBのRAMが必要でしたが、gcc 5.1または5.4で改善された後で、クラッシュしました。 – Anty