Tag Archives: GTK+

GLib 테스트 프레임워크 사용하기

GLib 라이브러리 2.16 버전부터 지원하는 테스트 프레임워크는 C 언어용 유닛테스트 도구입니다. 물론 많은 유닛 테스트 도구가 이미 존재하지만, GLib 라이브러리 기반 C 언어 프로그램이라면 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

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

이 글은 회사 개발팀 내부 세미나를 위해 작성중인 글입니다. 하지만, 블로그란 매체의 특성상 외부에도 공개되고 있는데, 댓글은 달지 않아도 접속하는 사람들 대부분이 제가 아는 분일 거라 생각하고 한마디 하자면, 세상에 공짜가 어디 있는가, 주저하지 말고 내게 연락해서 술 한 잔 사게! (언젠가부터 술 강요 청탁 협박 블로그가 되어 가고 있군…)
속성 (Properties) 추가하기
이제, GObject 속성(properties) 기능을 [...] Continue reading

Posted in Development | Tagged , , , | Comments Off