Если он разработан, это будет необходимо. В документации говорится:
Эта функция должна вызываться хотя бы один раз в программе (программа - это весь код, который разделяет пространство памяти), прежде чем программа вызовет любую другую функцию в libcurl. Окружающая среда, которую он устанавливает, является постоянной для жизни программы и одинакова для каждой программы, поэтому несколько вызовов имеют тот же эффект, что и один вызов.
Если вы еще не вызывали curl_global_init (3), curl_easy_init (3) делает это автоматически. Это может быть летальным в многопоточных случаях, поскольку curl_global_init (3) не является потокобезопасным, и это может привести к проблемам с ресурсами, поскольку соответствующая очистка отсутствует.