int* foo = new int[10];
foo = NULL;
sleep(60);
Instrument は上記のコードでリークを検出しません。Instrument ツールを使用して C または C++ コードのリークを検出するにはどうすればよいですか。ほとんどの説明は客観的なCコードに基づいています...
int* foo = new int[10];
foo = NULL;
sleep(60);
Instrument は上記のコードでリークを検出しません。Instrument ツールを使用して C または C++ コードのリークを検出するにはどうすればよいですか。ほとんどの説明は客観的なCコードに基づいています...
問題は、コンパイラがnew
次のコード フラグメントでの呼び出しを最適化することです。
int* foo = new int[10];
foo = NULL;
sleep(60);
それが使われていないことを知るのに十分賢いからです。使用するコードを追加するとfoo
、コンパイラはこれを実行せず、予想されるリークが表示されるはずです。
int* foo = new int[10];
foo[3] = 23;
foo[8] = 45;
printf("%d %d\n", foo[3], foo[8]);
foo = NULL;
sleep(60);