C Programer  - 讨论区

标题:GLib 简介与程序开发

2014年02月01日 星期六 11:58

熟悉Linux的同学们肯能都听说过或者使用过GNOME Desktop,GNOME Desktop是基于GTK+开发的,而GTK+的更底层,就是GLib。

GLib是一组通用的、跨平台的工具库,使用C语言编写,提供多种数据结构、宏定义、字符串工具、文件工具等。具有良好的运行效率和容易使用的API。

GTK+ is built on top of GLib. GLib provides the fundamental algorithmic language constructs commonly duplicated in applications. This library has features such as: (this list is not a comprehensive list)

  • Object and type system
  • Main loop
  • Dynamic loading of modules (i.e. plug-ins)
  • Thread support
  • Timer support
  • Memory allocator
  • Threaded Queues (synchronous and asynchronous)
  • Lists (singly linked, doubly linked, double ended)
  • Hash tables
  • Arrays
  • Trees (N-ary and binary balanced)
  • String utilities and charset handling
  • Lexical scanner and XML parser
  • Base64 (encoding & decoding)

CentOS系统自带GLib安装包,执行:

# yum install -y glib2-devel

即可完成安装。

下面是一个测试示例程序,可以检测GLib开发库是否安装成功:

#include <glib.h>

int main(int argc,char **argv) {

    gint x=100; 
    guint64 u=100000000000000L;
    g_print("x = %d, u=%llu\n",x,u);
    return 0;
}

对应的Makefile示例:

CURL_FLAGS = `pkg-config --cflags --libs glib-2.0` 
all: gtest
gtest: gtest.c
	gcc -std=c99 -o gtest ${CURL_FLAGS} gtest.c
clean:
	rm -f gtest *.o 

参考资料:

https://developer.gnome.org/glib/2.38/

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号