cJSON庫使用 特別注意事項

2021-09-26 23:20:12 字數 679 閱讀 3522

cjson的簡單使用——stm32移植

cjson打包功能使用-**案例、特別注意事項

在前面的文章中,我們對cjson進行了一些簡單分析,包括解析、打包這兩種最常用功能,cjson的移植相對簡單,但是在使用的時候,還是有一些特別需要注意的地方的,這 主要是因為 cjson庫 中的一些函式會進行記憶體申請操作,但是並不會自動釋放記憶體,這就相當於 是風險, 需要使用者自己去及時的釋放 記憶體。如果處理不當,會造成記憶體用完,進而程式也執行不了多久就廢掉了。所以需要特別注意的地方:

(1)使用cjson_parse建立乙個 cjson指標後,用完務必 使用 cjson_delete函式釋放 該cjson指標。

(2)使用cjson_create***函式建立 json物件後, 用完務必使用 cjson_delete函式釋放 該cjson指標。

(3)使用 cjson_print函式 將cjson資料 解析成 char 字串後,務必使用 cjson_free函式釋放 該char指標,這個 細節隱藏的很深,因為cjson_print 函式不光是 print列印,他會 呼叫cjson_malloc 申請記憶體,所以用完 必須要釋放 掉 該char 指標。

cjson_delete(root);    //非常重要!!!!!!

cjson_free(payload); //非常重要!!!!!!

gitignore特別注意事項!!!

此處只說注意事項,踩過的坑,拒絕回踩 gitignore.txt檔案中,不支援級聯目錄的 號匹配,比如企圖過濾掉target和user目錄下所有檔案,因此這樣寫 錯誤寫法演示 target user 以上寫法中,會被單獨解釋為所有檔案,因此再提交時,會返回nothing to commit的錯 此錯...

元件使用特別注意 CoInitialize

話說coinitialize與couninitialize是夫妻 使用如下 coinitialize null 元件使用 部分 couninitialize 但是,特別注意 所有的元件 使用都得在其中,我們在函式中獲取某個元件的指標作為返回值時,特別出錯。iwebbrowser2 create re...

cjson記憶體洩漏問題注意事項

1.申請了記憶體沒有釋放 造成記憶體申請失敗,下面記錄下使用的注意問題 1 使用root cjson parse text 將字串轉成json格式,函式中申請了一塊記憶體給root 所以在最後要釋放root cjson delete root 釋放cjson parse 分配出來的記憶體空間 2 使...