nmalloc_heaphash()
関数を用いてメモリリークのチェックを行うサンプルです。 より高度な方法については、 object_tracking サンプルを参照してください。
#include <string.h>
static char* MyStrDup(const char* str) {
if (!str) return NULL;
size_t len = strlen(str);
char* ptr =
reinterpret_cast<char*
>(
nmalloc(len + 1));
if (!ptr) return NULL;
return ptr;
}
#ifdef NLIB_HAS_VIRTUALMEMORY
settings->
size = 1024 * 128;
}
#else
const size_t heapmem_size = 1024 * 128;
settings->addr = heapmem;
settings->size = heapmem_size;
}
#endif
static void Advance(char* s) {
if (!s) return;
char* p = s;
while (*p) {
++(*p);
++p;
}
}
static bool SampleMain(int, char**) {
Advance(MyStrDup("ABC"));
if (before != after) {
}
return true;
}
NLIB_MAINFUNC