The relationship between GTK, GDK and glib

Source: Internet
Author: User
Tags gtk
What is GDK?
GDK is a basic encapsulation of standard xlib function calls (wrapper), and if you're familiar with Xlib, you don't need to be familiar with most of the GDK functions. All functions are designed to provide a convenient and intuitive style to access the Xlib function library. In addition, since GDK used glib, When used on multiple platforms, the GDK becomes more convenient and secure.

What is glib?
The GLib library provides a series of functions (functions) and definitions (definitions) that are useful when designing GDK and GTK programs. It provides alternative functions for standard C function libraries (standard libc), such as malloc, But there are a lot of problems with using it on other systems.

What is GTK +?

GTK + is a small and efficient control library with a motif look and feel. In fact, it looks better than motif, which contains basic controls and some very complex controls: File selection, control, and color selection controls. GTK + offers some unique features, (at least, I know that other control libraries do not provide them), for example, a button does not provide a label, it contains a child control, and in many cases it is a label, but the child control can also be a map, an image, or a collection that any other programmer wants. In the entire library, You've seen this kind of scalability.

GNOME's development infrastructure revolves around a set of library functions, all of which are written in portable ANSI C, and can be used in all Unix-like systems, and graphics-related libraries depend on the X Window System. The GNOME function library is the highest level. GTK + is made up of two parts, GTK and GdK. The GTK layer provides an object model for the C language and provides the most basic widget for the UI toolkit, which is the foundation of the upper-layer GUI derivation. GTK is dependent on the GDK, GdK is a xlib of the underlying packaging, Xlib library directly with the X Server dialog. In addition to Xlib, any part is based on glib, it is a useful C function library, providing a lot of utilities and portable functions as well as a set of containers easy to be used by C language.

One A GNOME program uses multiple libraries to form a hierarchy:
The Gnome library is at the top level, including help routines, classes, and special widgets, and provides an infrastructure for your application.
The second layer is GTK, which is part of the GTK + library. This library provides a basic toolkit and widget to create GUI applications. Most GUIs are written directly with GTK. GTK also provides a powerful object system for the GNOME library.
The next layer is GDK, which is simply packaged with the X function library, which is only used when we make special drawings or set the special properties of the window.
The bottom layer is glib, a utility library for C, which includes portability and some utility functions, as well as some container classes, such as lists, variable groups, variable-length strings, hashes (seemingly Hassi), caching, an event loop, and other useful constructs



Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.