[Source code]


#include <list>
#include <stdlib.h>
#include <stdio.h>

void usage()
{
  printf("malloc test made by gilgil\n");
  printf("syntax : malloc_test <count> <size1> <size2> ... \n");
  printf("example : malloc_test 10 1024\n");
}

int main(int argc, char* argv[])
{
  if (argc <= 1)
  {
	  usage();
	  return 0;
  }

  int count = atoi(argv[1]);
  
  std::list<size_t> sizeList;
  int i = 2;
  while (i < argc)
  {
    sizeList.push_back(atoi(argv[i]));
    i++;
  }

  char* prev = NULL;
  for (int i = 0; i < count; i++)
  {
    for (std::list<size_t>::iterator it = sizeList.begin(); it != sizeList.end(); it++)
    {
      size_t size = *it;
      char* p = (char*)malloc(size);
      if (prev == NULL) prev = p;
      long long diff = p - prev;
      printf("malloc(%5u)=%p %lld\n", size, p, diff);
      prev = p;
    }
  }
}


[Download]

malloc_test.zip