#include <acl1Tiny.c>
int main()
{
char *p = AM_alc(am0, 0, 1234); // char *p = malloc(1234); に相当.
AM_dst(am0); // ←この記述で、am0は閉じられる(デストラクタ). このタイミングでリーク検出がなされる.
return 0;
}
// am0 : デフォルトで用意されるメモリアロケータ.
[実行結果]
AM_dst(): error(n=1, total=1234)#include <acl1Tiny.c>
int main()
{
AM *child = AM1_opn(0, am0); // AM1型のメモリアロケータを、am0を親として作る.
char *p = AM_alc(child, 0, 1234); // char *p = malloc(1234); に相当.
AM_dst(am0); // ←この記述で、am0は閉じられる(デストラクタ). このタイミングでリーク検出がなされる.
return 0;
}
[実行結果]
AM_dst(): error(n=2, total=1314)#include <acl1Tiny.c>
int main()
{
AM *child = AM1_opn(1, am0); // AM1型のメモリアロケータを、am0を親として作る.
char *p = AM_alc(child, 1, 1234); // char *p = malloc(1234); に相当.
AM_dst(am0); // ←この記述で、am0は閉じられる(デストラクタ). このタイミングでリーク検出がなされる.
return 0;
}
[実行結果]
(エラーがないので何も出力されません)