본문 바로가기
컴퓨터 관련

GTK 란?

by _BlankSpace 2017. 4. 9.

소개


- C로 쓰여졌지만 클래스의 개념과 callback 함수(함수에 대한 포인터)를 갖춘 객체지향적인 어플 개발자 환경.


- C++ 스타일로는 GTK– 또는 GTKMM가 있다.


- GTK를 클래스화하여 사용하고 싶으면 해당 G_CALLBACK 함수를 static화 하여 사용하면 된다.


https://developer.gnome.org/gtkmm-tutorial/stable/index.html.en 참고.




설치해야할 파일


1
# sudo apt-get install libgtk2.0-dev
cs





GTK+는 다음 라이브러리에 의존


- Glib

- Pango

- ATK

- GDK

- GdkPixbuf

- Cairo



기본 컴파일 방법


gcc -Wall -g helloworld.c -o helloworld `pkg-config –cflags gtk+-2.0` || `pkg-config –libs

gtk+-2.0` ← 기본적인 예

'pkg-config –cflags gtk+-2.0' 컴파일러가 볼 수 있는 Include 디렉토리를 출력한다.

'pkg-config –libs gtk+-2.0' 라이브러리 리스트.

`pkg-config –cflags –libs gtk+-2.0` 둘을 더하여 사용할 수 있음.



GTK 특징


모든 위젯은 생성 후 상위 위젯에 추가되어도 참조 카운터는 1밖에 안되고, gtk_widget_destroy() 등을 이용하여 최상위 위젯을 없애면 모든 하위 위젯 객체는 자동으로 참조 카운터가 0이 되어 메모리가 해제된다.

댓글