最近私はNCursesを教えていましたが、valgrindでコードをテストしてメモリリークをチェックすることにしました。この小さなコードは私のプログラムと同じエラー結果をもたらし、誰かが間違っていることを知っているのか、それとも私を答えに導くことができるのかを知りたいと思います。NCursesメモリ割り当てvalgrindメッセージ
#include <ncurses.h>
int main()
{
initscr();
WINDOW *win = newwin(0,0,10,10);
delwin(win);
endwin();
return 0;
}
== 20986 == Memcheck、メモリエラー検出
== 20986 ==著作権(C)2002から2013、およびGNU GPLに、ジュリアンスワードらによる。
== 20986 == Valgrind-3.10.1とLibVEXを使用する。
== 20986:
== 20986 ==
== 20986 ==
== 20986 == HEAP概要./a.out:著作権情報
== 20986 ==コマンドの-hと再実行==出口で使用さ:193個のブロック
== 20986 ==合計ヒープ使用量の281089バイト:
:248のallocs、55の解放し、353425のバイトが == 20986 ==
== 20986 == LEAK概要
割り当て == 20986 ==確実に失われた:0ブロックの0バイト
== 20986 ==間接的に失われた:0ブロックの0バイト
は== 20986 ==おそらくは失わ:0ブロック内の0バイト
== 20986 ==まだ到達:193個のブロック内281089バイト抑制
== 20986 == 0のブロック0バイト
== 20986 ==を-v
== 20986 == ERROR:--leak-チェック=リークしたメモリ
== 20986 ==
== 20986検出と抑制、エラーのカウントのために==、再放送での詳細を見ることがいっぱいで再実行してください要約:0のコンテキストからの0エラー(抑制:0から0)
ありがとうございました。
いいえ、valgrindは0バイトがリークされたことを示し、281089バイトはまだ割り当てられていますが、明らかにリークされていないことを示しています。正確に何が間違っていますか? – immibis