3
我可以這樣做嗎?我可以在設置CURLOPT_HTTPHEADER後立即調用curl_slist_free_all嗎?
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headerlist);
curl_slist_free_all(headerlist);
也就是說,我可以在發送請求之前釋放標題列表嗎?捲曲是否複製?
我可以這樣做嗎?我可以在設置CURLOPT_HTTPHEADER後立即調用curl_slist_free_all嗎?
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headerlist);
curl_slist_free_all(headerlist);
也就是說,我可以在發送請求之前釋放標題列表嗎?捲曲是否複製?
不。在源文件中,setopt函數只是保存你的指針。
case CURLOPT_HTTPHEADER:
/*
* Set a list with HTTP headers to use (or replace internals with)
*/
data->set.headers = va_arg(param, struct curl_slist *);
break;
未來的只是注意:如果你碰到一個第三方二進制庫,你可以不看,看,你可以做的是設置選項,然後以某種明顯的覆蓋你的價值,然後調用操作。如果原始值顯示出來,你知道它做了一個副本。如果新值顯示出來,你知道它沒有。 – 2014-10-02 23:21:57
這現在也在CURLOPT_HTTPHEADER手冊頁中爲未來黑客澄清。 – 2014-10-03 11:37:08