libcurl 전역 초기화

전역 초기화

프로그램에서 libcurl과 관련된 작업을 수행하기 전에 curl_global_init()으로 전역 libcurl 초기화 호출을 수행해야 합니다. 이는 libcurl이 사용할 수 있는 일부 기본 라이브러리가 설정을 가져오고 적절하게 초기화하기 위해 미리 호출해야 하기 때문에 필요합니다.

curl_global_init()은 불행히도 스레드로부터 안전하지 않으므로 한 번만 수행하고 다른 호출과 동시에 수행하지 않도록 해야 합니다. 전역 상태를 초기화하므로 한 번만 호출해야 하며 프로그램이 libcurl을 사용하여 완전히 완료되면 curl_global_cleanup()을 호출하여 할당된 초기화 호출과 관련된 전역 리소스를 해제하고 정리할 수 있습니다.

libcurl은 curl_global_init() 호출을 건너뛰는 상황을 처리하도록 빌드되었지만 대신 자체적으로 호출하여 수행하고(실제 파일 전송이 시작되기 전에 수행하지 않은 경우) 자체 기본값을 사용합니다. 그러나 그때도 여전히 스레드로부터 안전하지 않으므로 “흥미로운” 부작용이 발생할 수 있습니다. curl_global_init()를 제어된 방식으로 직접 호출하는 것이 훨씬 좋습니다.

공유하기