curl_global_init_mem - глобальная инициализация libcurl с установкой обратных вызовов для работы с памятью.
Синтаксис[]
#include <curl/curl.h>
CURLcode curl_global_init_mem(long flags,
curl_malloc_callback m,
curl_free_callback f,
curl_realloc_callback r,
curl_strdup_callback s,
curl_calloc_callback c );
Описание[]
Работает в точности так же, как и curl_global_init(), но с одним небольшим дополнением: позволяет приложению заменить функции управления памятью, используемые внутри библиотеки, на свои.
Эта страница документации описывает только функции обратного вызова, всё остальное идентично curl_global_init(). При использовании этой функции, все аргументы с обратным вызовом должны быть заполнены корректными указателями.
Прототипы используемых функций обратного вызова должны быть следующими:
void *malloc_callback ( size_t size );
- Замена для malloc().
void free_callback ( void *ptr );
- Замена для free().
void *realloc_callback ( void *ptr, size_t size );
- Замена для realloc().
char *strdup_callback( const char *str );
- Замена для strdup().
void *calloc_callback( size_t nmemb, size_t size );
- Замена для calloc().
Предостережение[]
Управление этими функциями дает возможность серьезно испортить данные в libcurl. Будте осторожны!