Вокруг строки # 15195 в исходном коде прокомментируйте следующие строки:
/*
** Windows systems have malloc_usable_size() but it is called _msize()
*/
#if !defined(HAVE_MALLOC_USABLE_SIZE) && SQLITE_OS_WIN
# define HAVE_MALLOC_USABLE_SIZE 1
# define malloc_usable_size _msize
#endif
в
/*
** Windows systems have malloc_usable_size() but it is called _msize()
#if !defined(HAVE_MALLOC_USABLE_SIZE) && SQLITE_OS_WIN
# define HAVE_MALLOC_USABLE_SIZE 1
# define malloc_usable_size _msize
#endif
*/
Он отключит повторное использование памяти в SQLite3 malloc и будет опираться на лучшую реализацию FastMM4 reallocmem ().
См. этот коммит например. для нашей реализации с открытым исходным кодом статического связывания SQLite3.
Дополнительная информация:
Я думаю, что мы избавимся от этой проблемы в 3.7.11, как указано этим коммитом : будет добавлен новый глобальный символ SQLITE_WITHOUT_MSIZE
, который сможет создать объединение исходный код без изменения его содержимого, просто установив соответствующий SQLITE_WITHOUT_MSIZE
define. Между тем проще всего прокомментировать приведенные выше строки.