curs_memleaks(3x) curs_memleaks(3x)
_nc_freeall _nc_free_and_exit - curses メモリリークの検査
#include <curses.h>
void _nc_freeall(void);
void _nc_free_and_exit(int);
これらの関数は ncurses ライブラリでのメモリリークの解析を
簡単にするために使います。
これらは通常は利用可能になっていません。ビルド時に
--disable-leaks オプションを使ってライブラリを構成しなければ
なりません。
それは、通常は解放されないメモリを解放するコードを
コンパイル時に組み込みます。
画面に関連したメモリは (endwin を呼び出した後でさえ)
次の refresh 呼び出しで使えなくてはならないため、curses の
どの実装も、それを解放してはなりません。
また、性能上の理由で保持しているメモリ領域もあります。
それが curses アプリケーションのメモリリークの解析を難しく
しています。
これを避けるため、解放可能なそれらのメモリ領域を解放し、
ncurses ライブラリが確保したすべてのメモリを解放するために
これらの関数を提供するデバック・バージョンの
ncurses ライブラリをビルドすることができます。
解放されるメモリの一部がアプリケーションの実行を続けるために
必要かもしれないので、_nc_free_and_exit 関数のほうが
適しています。
引数は exit ルーチンに渡されるコードです。
これらの関数は値を返しません。
これらの関数は XSI インターフェイスの一部ではありません。
curses(3x).
curs_memleaks(3x)