Tag Archives: GLib

싱글턴(Singleton) GObject 객체 만들기

좋은 블로그 포스트가 올라왔길래, 우리말로 정리해 보았습니다. GObject 기반 객체 지향 프로그래밍에서 싱글턴 패턴을 사용하려면 대개 다음과 같은 함수를 추가합니다. FooBar* foo_bar_get_default… Continue reading

Posted in Development | Tagged , , | Comments Off

GLib 2.22.0 출시

GLib 2.22.0 안정버전 출시 소식이 도착했습니다. 물론 GTK+ 2.18.0 버전도 함께 출시되었지만 이 포스트에서는 일단 GLib에 대한 내용만 다루고, GTK+ 변경사항은 다른 포스트에서 정리할 예정입니다. 물론 그대로 우리말로 옮기는 건 지루하고 재미없는 작업이라, 한두가지 눈에 띄는 것만 정리합니다.
제일 먼저 눈에 띄는 추가 사항은, 이전 포스트에서 언급했던 GMainContext 객체를 쓰레드별로 자동 관리해주는 API가 추가되었다는 점입니다. 새로 [...] Continue reading

Posted in Development | Tagged | Comments Off

GLib 메인루프 이용하기

GLib API를 이용한 멀티쓰레드 프로그래밍에서 비동기 메시지 큐를 이용하는 방법은 지난 포스트에서 설명한 적이 있는데, 이번에는 애플 GCD의 libdispatch와 비교되는 GLib의 메인루프를 이용하는 방법을 정리해 보았습니다. 이 방법은 어떤 관점에서 보면 더 쉽고, 이미 많은 기능이 기본적으로 지원되기 때문에 몇몇 경우를 제외하면 더 좋은 방법입니다. 다만 API 사용법을 이해하기가 처음에 조금 까다롭다는 점이 걸림돌입니다.
일반적으로 GLib [...] Continue reading

Posted in Development | Tagged , , | Comments Off

GLib 메인루프와 애플 GCD의 libdispatch

GTK 메일링 리스트에 흥미있는 포스트가 있어서 정리해 봅니다.
스노우 레오파드 출시와 더불어 오픈 소스로 공개되면서 요즘 한창 이슈가 되고 있는 애플의 GCD(Grand Central Dispatch)의 일부인 libdispatch 라이브러리와 GLib 메인루프를 비교한 내용인데, 정리해 보면 다음과 같습니다.
libdispatch는 세 종류의 실행 큐를 제공하는데 다음과 같습니다.

메인 큐(main queue) : GLib의 메인 이벤트 루프와 동일
전역 큐(global queue) : 쓰레드풀(thread pool) 방식으로 동작하며 [...] Continue reading

Posted in Development | Tagged , , | Comments Off

GObject 객체 지향 프로그래밍 (4)

이전 글에 계속 이어집니다.
객체 속성 정보 얻기
EdcHost 객체의 속성 정보를 실행 중에 얻어볼까 합니다.
왜 또 갑자기 불필요한 예제를 꺼내냐고 물어보실 분이 있을 것 같아 말하자면, 가끔 요긴한 경우가 있기 때문입니다. 예를 들어 EdcHost 객체를 상속받은 EdcHostDoosan, EdcHostKia, EdcHostLitte 객체가 여러 개 존재할 경우, 이 객체들은 EdcHost의 공통 속성 뿐 아니라 본인의 속성도 따로 가집니다. 이러한 [...] Continue reading

Posted in Development | Tagged , , , | Comments Off