반응형
C에서의 json library
c에서 Jansson lib 를 써보니 생각보다 api 가 잘되어있고 안정적으로 동작하였다. 만약 임베디드C 환경에서 json 을 쓰려면 jansson 을 사용하길 추천한다.
- 공식홈페이지 : http://www.digip.org/jansson/
Jansson 에서 json_decref()의 역할?
간단하게 이야기해서 free 와 같은 역할이라고 생각하면될것 같다.
할당된 인스턴스를 해제하는 역할이다.
혹은... 강제로 쓰고있는 인스턴스를 다른곳에서 해제하지 못하게 하는 lock 과 같은역할을 하기도한다.
json_decref() 호출하는 기준
공식 api 문서를 살펴보면 다음과 같은 내용이 있다.
- 공식API 문서 : http://jansson.readthedocs.io/en/2.8/apiref.html
각 api 에는 해당 함수가 "new reference" 혹은 "Borrowed reference" 인지 표시가 되어있다.
즉, new reference api 일때 json_decref() 를 호출하면된다.
만약, Borrowed reference api 를 쓰면서 다른곳에서 json_decref() 를 호출하게될경우 그 함수호출은 동작을 보장할수없으므로, Borrowed reference ap 를 쓸때 안전하게 쓰려면, json_incref() 를 강제로 호출후에 사용하고 사용이 끝나면 json_decref() 를 쓰도록한다.
반응형