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