본문 바로가기

GHashTable2

3-2. GLib의 자료구조들 (해쉬 테이블 - GHashTable) 본 포스트를 이해하려면 해쉬 테이블에 대한 사전 지식이 필요하다. 만약 해쉬 테이블이 무엇인지 모른다면 먼저 해당 내용들에 대해서 구글링을 해 보자. 해쉬 테이블은 데이터를 Key-Value 쌍으로 관리하기 위한 자료구조이다. 하나의 Key에 하나의 Value만 저장될 수 있다. 아래는 GHashTable로 데이터 삽입, 삭제, 조회, 순회를 하는 간단한 예제이다. #include #include #include // typedef void* gpointer; // HashMap을 순회하면서 호출되는 콜백함수 static void print_film(gpointer key, gpointer value, gpointer user_data) { char *film = (char*)key; char *coun.. 2021. 12. 18.
2. C언어의 STL, GLib ※ glibc와 혼동하지 말자. glibc(gnu c library)는 gnu에서 만든 C 표준 라이브러리이다. 반면 GLib는 gnome 재단에서 만든 서드파티 라이브러리이다. GLib는 C언어 프로그램 개발을 돕는 라이브러리이다. C언어가 개발된지 어느덧 50년이 다 되어가는 만큼 지원하는 기능이 제한적이다. 대표적으로 C언어는 표준 자료구조, 클래스, 추상화된 파일 입출력 라이브러리 등 현대 언어에서 지원하는 기능들이 빠져있다. GLib는 현대 언어들이 제공하는 고수준 기능들을 C언어에서도 사용할 수 있도록 돕는 라이브러리이다. 2.1 GLib란? 공식 GLib 문서에서는 GLib에 대해 아래와 같이 설명하고 있다. GLib is a general-purpose, portable utility li.. 2021. 12. 17.