다음 이전 차례

2. 소개

GTK(GIMP Toolkit)은 원래 GIMP(General Image Manipulation Program)을 만들기 위한 툴킷으로 개발되었다. GTK는 Xlib의 함수들에 대한 기본적인 wrapper인 GDK(GIMP Drawing Kit)를 기반으로 하고 있다. 원래 GIMP를 만들 목적으로 개발되었지만, 지금은 몇 가지 프리 소프트웨어의 제작에 쓰이게 되었다. GTK의 제작자들은 다음과 같다.

GTK는 본질적으로 객체지향적인 어플 개발자 환경이다(API, Application Programmers Interface). 비록 완전히 C로 쓰여졌지만 클래스의 개념과 callback 함수(함수에 대한 포인터)가 갖추어진 것이다.

여기에는 연결리스트(linked list)를 다루기 위한 몇 가지 함수들과 함께, glib라고 불리우며 몇 가지 표준함수들을 대치할 수 있는 함수들도 세번째 요소로 포함되어 있다. g_strerror()처럼, 여기 쓰인 어떤 함수들은 다른 유닉스들에 대해 표준이 아니거나 쓰여질 수 없는 것이기 때문에, GTK의 이식성을 높이기 위해 여기에 대한 대치함수들도 쓰였다. 또한 g_malloc이 디버깅 기능을 강화했듯이 libc의 버전에 보강이 이루어지기도 했다.

이 문서는 단지 GTK를 위한 참고가 될 뿐이며, 완전한 것을 의미하지 않는다. 독자는 C언어를 잘 알며 C프로그램을 어떻게 만드는지 알고 있을 것이라고 가정 한다. 꼭 필요한 것은 아니겠지만, 독자가 이미 X 프로그램에 대한 경험이 있다면 매우 큰 도움이 될 것이다. 만약 당신이 widget 세트에 대해 GTK가 처음 접한 것이라면, 이 문서를 어떻게 발견하게 되었고 또 특별히 힘든 부분은 어떤 것이라는 것을 꼭 알려주기 바란다. GTK를 위해 C++의 형식에 따른 API도 있다는 것을 참조할 것이며, 만약 C++을 더 선호한다면 이것 대신에 그걸 선택하기 바란다. 또한 Objective C, Guile과의 바인딩도 있지만, 어쨌든 여기서는 그것들을 따르지 않겠다.

당신이 이 문서를 통해 GTK를 공부하는 데 있어서 어떤 문제라도 나에게 알려 주기 바라며, 그것은 이 문서가 향상되는 것에 큰 도움이 될 것이라고 생각한다.


다음 이전 차례