あなたの質問はあいまいです。コンパイル中にgccまたはコンパイラによって使用されるメモリリソースが気になる場合は、(さまざまなGCCフェーズの時間とメモリの両方を報告する)を使用してそれらを測定できます。トリッキーなGCCプログラム引数を使用してコンパイルするためにコンパイラーが消費するリソースを減らすことができます(詳細についてはGCCドキュメントを参照)。または、 setrlimit(2)システムコールとインターフェイスするシェルの組み込みを使用してメモリ制限を下げることができます。他の人が示唆しているように、同じ組み込みコマンドとsyscallを使用してプログラムを実行するために、使用可能なメモリを制限することもできます。g++gcc -ftime-reportulimitbashulimitsetrlimit
しかし、あなたはおそらくあなたのプログラムによって消費されるメモリリソースを気にかけているでしょう。でコンパイルし、最初にvalgrind(および)を使用してメモリリークをデバッグg++ -Wall -gする方法を学ぶことをお勧めします。とを再定義することもできます。gdbmallocfree
または、 Boehmの保守的なガベージコレクターの使用を検討することもできます。次に、GC_mallocの代わりに使用mallocする(またはのnew(gc)代わりに使用する)と、またはnewについてこれ以上気にする必要はありません。ただし、これは控えめなガベージコレクターです(運が悪ければ、メモリリークが発生する可能性があります)。freedelete
一部のプロセスで使用されるアドレス空間をより深く理解するには、特にプロセス1234のマップ、または独自のプロセスのマップにproc(5)疑似ファイルシステムを使用します。(端末で実行して、そのコマンドのメモリマップを確認します)。コマンドもあります。/proc/1234/maps/proc/self/mapscat /proc/self/mapscatpmap