<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>The Main Event Loop</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
<link rel="start" href="index.html" title="GLib Reference Manual">
<link rel="up" href="glib-core.html" title="GLib Core Application Support">
<link rel="prev" href="glib-core.html" title="GLib Core Application Support">
<link rel="next" href="glib-Threads.html" title="Threads">
<meta name="generator" content="GTK-Doc V1.7 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="glib.html" title="GLib Overview">
<link rel="chapter" href="glib-fundamentals.html" title="GLib Fundamentals">
<link rel="chapter" href="glib-core.html" title="GLib Core Application Support">
<link rel="chapter" href="glib-utilities.html" title="GLib Utilities">
<link rel="chapter" href="glib-data-types.html" title="GLib Data Types">
<link rel="chapter" href="tools.html" title="GLib Tools">
<link rel="index" href="ix01.html" title="Index">
<link rel="index" href="ix02.html" title="Index of deprecated symbols">
<link rel="index" href="ix03.html" title="Index of new symbols in 2.2">
<link rel="index" href="ix04.html" title="Index of new symbols in 2.4">
<link rel="index" href="ix05.html" title="Index of new symbols in 2.6">
<link rel="index" href="ix06.html" title="Index of new symbols in 2.8">
<link rel="index" href="ix07.html" title="Index of new symbols in 2.10">
<link rel="index" href="ix08.html" title="Index of new symbols in 2.12">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="glib-core.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="glib-core.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GLib Reference Manual</th>
<td><a accesskey="n" href="glib-Threads.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id2880193" class="shortcut">Top</a>
 | 
<a href="#id2882293" class="shortcut">Description</a></nobr></td></tr>
</table>
<div class="refentry" lang="en">
<a name="glib-The-Main-Event-Loop"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2>
<a name="id2880193"></a><span class="refentrytitle">The Main Event Loop</span>
</h2>
<p>The Main Event Loop — manages all available sources of events.</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">
#include <glib.h>
<a href="glib-The-Main-Event-Loop.html#GMainLoop">GMainLoop</a>;
<a href="glib-The-Main-Event-Loop.html#GMainLoop">GMainLoop</a>* <a href="glib-The-Main-Event-Loop.html#g-main-loop-new">g_main_loop_new</a> (<a href="glib-The-Main-Event-Loop.html#GMainContext">GMainContext</a> *context,
<a href="glib-Basic-Types.html#gboolean">gboolean</a> is_running);
<a href="glib-The-Main-Event-Loop.html#GMainLoop">GMainLoop</a>* <a href="glib-The-Main-Event-Loop.html#g-main-loop-ref">g_main_loop_ref</a> (<a href="glib-The-Main-Event-Loop.html#GMainLoop">GMainLoop</a> *loop);
void <a href="glib-The-Main-Event-Loop.html#g-main-loop-unref">g_main_loop_unref</a> (<a href="glib-The-Main-Event-Loop.html#GMainLoop">GMainLoop</a> *loop);
void <a href="glib-The-Main-Event-Loop.html#g-main-loop-run">g_main_loop_run</a> (<a href="glib-The-Main-Event-Loop.html#GMainLoop">GMainLoop</a> *loop);
void <a href="glib-The-Main-Event-Loop.html#g-main-loop-quit">g_main_loop_quit</a> (<a href="glib-The-Main-Event-Loop.html#GMainLoop">GMainLoop</a> *loop);
<a href="glib-Basic-Types.html#gboolean">gboolean</a> <a href="glib-The-Main-Event-Loop.html#g-main-loop-is-running">g_main_loop_is_running</a> (<a href="glib-The-Main-Event-Loop.html#GMainLoop">GMainLoop</a> *loop);
<a href="glib-The-Main-Event-Loop.html#GMainContext">GMainContext</a>* <a href="glib-The-Main-Event-Loop.html#g-main-loop-get-context">g_main_loop_get_context</a> (<a href="glib-The-Main-Event-Loop.html#GMainLoop">GMainLoop</a> *loop);
#define <a href="glib-The-Main-Event-Loop.html#g-main-new">g_main_new</a> (is_running)
#define <a href="glib-The-Main-Event-Loop.html#g-main-destroy">g_main_destroy</a> (loop)
#define <a href="glib-The-Main-Event-Loop.html#g-main-run">g_main_run</a> (loop)
#define <a href="glib-The-Main-Event-Loop.html#g-main-quit">g_main_quit</a> (loop)
#define <a href="glib-The-Main-Event-Loop.html#g-main-is-running">g_main_is_running</a> (loop)
#define <a href="glib-The-Main-Event-Loop.html#G-PRIORITY-HIGH:CAPS">G_PRIORITY_HIGH</a>
#define <a href="glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT:CAPS">G_PRIORITY_DEFAULT</a>
#define <a href="glib-The-Main-Event-Loop.html#G-PRIORITY-HIGH-IDLE:CAPS">G_PRIORITY_HIGH_IDLE</a>
#define <a href="glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT-IDLE:CAPS">G_PRIORITY_DEFAULT_IDLE</a>
#define <a href="glib-The-Main-Event-Loop.html#G-PRIORITY-LOW:CAPS">G_PRIORITY_LOW</a>
<a href="glib-The-Main-Event-Loop.html#GMainContext">GMainContext</a>;
<a href="glib-The-Main-Event-Loop.html#GMainContext">GMainContext</a>* <a href="glib-The-Main-Event-Loop.html#g-main-context-new">g_main_context_new</a> (void);
<a href="glib-The-Main-Event-Loop.html#GMainContext">GMainContext</a>* <a href="glib-The-Main-Event-Loop.html#g-main-context-ref">g_main_context_ref</a> (<a href="glib-The-Main-Event-Loop.html#GMainContext">GMainContext</a> *context);
void <a href="glib-The-Main-Event-Loop.html#g-main-context-unref">g_main_context_unref</a> (<a href="glib-The-Main-Event-Loop.html#GMainContext">GMainContext</a> *context);
<a href="glib-The-Main-Event-Loop.html#GMainContext">GMainContext</a>* <a href="glib-The-Main-Event-Loop.html#g-main-context-default">g_main_context_default</a> (void);
<a href="glib-Basic-Types.html#gboolean">gboolean</a> <a href="glib-The-Main-Event-Loop.html#g-main-context-iteration">g_main_context_iteration</a> (<a href="glib-The-Main-Event-Loop.html#GMainContext">GMainContext</a> *context,
<a href="glib-Basic-Types.html#gboolean">gboolean</a> may_block);
#define <a href="glib-The-Main-Event-Loop.html#g-main-iteration">g_main_iteration</a> (may_block)
<a href="glib-Basic-Types.html#gboolean">gboolean</a> <a href="glib-The-Main-Event-Loop.html#g-main-context-pending">g_main_context_pending</a> (<a href="glib-The-Main-Event-Loop.html#GMainContext">GMainContext</a> *context);
#define <a href="glib-The-Main-Event-Loop.html#g-main-pending">g_main_pending</a> ()
<a href="glib-The-Main-Event-Loop.html#GSource">GSource</a>* <a href="glib-The-Main-Event-Loop.html#g-main-context-find-source-by-id">g_main_context_find_source_by_id</a> (<a href="glib-The
glib-html-2.12.13.tar.gz
需积分: 0 9 浏览量
更新于2008-07-04
收藏 469KB GZ 举报
《GLib库手册参考v2.12.13——GTK程序开发的基石》
GLib是GTK+库的基础,它提供了一系列通用的C语言编程工具,为开发GTK程序提供了强大的支持。`glib-html-2.12.13.tar.gz`是一个压缩包,包含了GLib库2.12.13版本的HTML格式的手册,详细阐述了其中的函数、数据类型和宏等关键元素。这份文档是开发者理解和使用GLib进行GTK程序开发的重要参考资料。
GLib的核心特性包括内存管理、线程支持、数据结构(如链表、队列、哈希表)、事件循环、定时器、字符串处理和文件系统操作等。其中,内存管理部分介绍了如何使用`g_malloc`、`g_free`等函数进行动态内存分配和释放;线程支持则涵盖了`GThread`接口,帮助开发者创建和管理多线程应用程序。
在数据结构方面,GLib提供了丰富的抽象数据类型,如`GList`、`GSlist`、`GQueue`和`GHashTable`。这些数据结构方便开发者高效地组织和操作数据。例如,`GList`是双向链表,适合用于按顺序遍历的数据,而`GHashTable`则是一种动态哈希表,提供了快速的键值对查找功能。
事件循环是GLib中的重要概念,它允许程序在一个主循环中处理多个输入源和定时事件。`g_main_loop`和`g_main_context`是实现这一机制的关键组件,开发者可以注册回调函数来响应特定的事件。
文件系统操作部分,GLib提供了如`g_file_test`、`g_file_read_link`等函数,使得在各种操作系统上处理文件和目录变得统一且简单。此外,GLib还提供了路径处理和文件名转换的功能,如`g_path_get_dirname`和`g_str_has_suffix`。
在`glib-html-2.12.13`中,每个函数都有详细的参数说明、返回值和使用示例,帮助开发者了解其工作原理和正确用法。例如,`g_strdup`函数用于复制一个字符串,返回的是一个新的内存块,需要使用`g_free`释放。
GLib还包含了一些高级特性,如信号系统(GSignal)和对象系统(GObject)。GSignal是GLib的事件和通知机制,允许对象之间进行通信;GObject则是GLib的对象模型,提供了一种面向对象编程的方式,支持类、继承、接口和属性等概念。
`glib-html-2.12.13.tar.gz`压缩包中的文档对于理解GLib及其在GTK程序开发中的应用至关重要。开发者可以通过这份手册深入了解GLib的各种功能,提升GTK应用程序的开发效率和质量。通过深入学习和实践,开发者可以熟练掌握GLib库,从而更好地构建功能强大、跨平台的GUI应用程序。
conanx
- 粉丝: 1
- 资源: 5
最新资源
- 【全年行事历】5团建医药箱常备药清单.docx
- 【全年行事历】4团建活动物料清单.xlsx
- 【全年行事历】7团建活动策划书.docx
- 【全年行事历】ZOL团建活动策划方案.pptx
- 【全年行事历】XXX团建活动计划.pptx
- 【全年行事历】86团建活动培训PPT完.pptx
- 【全年行事历】公司年度活动计划.xls
- 【全年行事历】大型企业公司活动进度表.xlsx
- 【全年行事历】公司户外团建活动方案-某公司.pptx
- 【全年行事历】公司团建费用统计表.xlsx
- 【全年行事历】公司团建拓展行程方案-模版.docx
- 【全年行事历】公司全年团建活动方案.xls
- 【全年行事历】公司员工一年度关怀方案预算.xls
- 【全年行事历】公司团建活动项目介绍.pptx
- 【全年行事历】行政部年度活动策划及经费预算.xlsx
- 【全年行事历】行政全年活动筹备规划.xlsx