命名空间

GLib – 2.0

GLib 是一个通用、可移植的实用库,它提供了许多有用的数据类型、宏、类型转换、字符串工具、文件工具、主循环抽象等。

版本2.83.2
作者GLib 开发团队
许可证LGPL-2.1-or-later
网站https://gtk.org.cn
源代码https://gitlab.gnome.org/GNOME/glib/

构建

C 头文件glib.h
pkg-config 文件glib-2.0
GModule 动态加载模块的便携式 API
浏览文档
GObject 基本类型系统库
浏览文档
GIO GObject 接口和对象、网络、IPC、I/O
浏览文档

结构体

分配器

数组

包含 GArray 的公钥字段。

AsyncQueue

一个无色数据结构,表示一个异步队列。

BookmarkFile

GBookmarkFile 允许你解析、编辑或创建包含书签的文件。

自: 2.12

ByteArray

包含 GByteArray 的公共字段。

Bytes

一种简单的引用计数数据类型,表示来自未指定来源的零个或多个字节的不可变序列。

自: 2.32

Cache

一个 GCache 允许共享复杂的数据结构,以提高系统资源。

废弃: 2.32 

Checksum

GLib 提供了一个通用的 API 来计算由任意字节序列的校验和(或“摘要”),使用各种哈希算法,如 MD5SHA-1 和 SHA-256。校验和在许多环境和规范中通常被使用。

自: 2.16

Completion

GCompletion 提供了对使用任何字符串组自动完成字符串的支持。它通常用于像许多 UNIX壳一样常见的文件名完成。

废弃: 2.26 

条件

一个代表条件的GCond结构是一个透明的数据结构。线程可以在找到某个条件为假时阻塞在一个GCond上。如果其他线程改变了这个条件的状态,他们会向GCond发出信号,这会导致等待的线程被唤醒。

数据

一个代表带键数据列表的透明数据结构。

日期

一个用于日历计算的GDate结构。

日期时间

GDateTime是一个结构,它将格里高利日期和时间合并为单个结构。

since: 2.26

DebugKey

将字符串与位标志关联。在g_parse_debug_string()中使用。

目录

一个表示已打开目录的透明结构。

错误

一个GError结构包含关于已发生错误的信息。

散列表

一个代表[glib-散列表][glib-散列表]的透明数据结构。它只能通过以下函数访问。

散列表迭代器

一个GHashTableIter结构代表一个可以用于迭代GHashTable元素的迭代器。通常在堆栈上分配GHashTableIter结构,然后使用g_hash_table_iter_init()进行初始化。

Hmac

当基于数据和密钥生成cookie或hash时,应使用HMAC。简单地将密钥和数据一起使用如SHA1和其他算法进行摘要的机制容易受到各种安全问题的影响。HMAC使用例如SHA1的算法以安全方式生成密钥和数据的摘要。

since: 2.30

钩子

GHook结构代表了GHookList中的一个钩子函数。

钩子列表

GHookList结构代表了钩子函数的列表。

IConv

GIConv结构封装了一个iconv()转换描述符。它包含私有数据,只能使用以下函数访问。

I/O通道

GIOChannel数据类型旨在提供一个可移植的方法来使用文件描述符、管道和套接字,并将它们集成到主事件循环中(参见GMainContext)。目前,在UNIX平台上提供全面支持;对Windows的支持仅部分完成。

I/O函数

一个用于以通用方式处理不同类型GIOChannel的函数表。

密钥文件

GKeyFile解析类似于.ini的配置文件。

列表

GList结构用于双链表中的每个元素。

日志字段

一个表示结构化日志条目中单个字段的属性。有关详细信息,请参阅g_log_structured

since: 2.50

主上下文

GMainContext结构是一个透明的数据类型,表示要在主循环中处理的一组来源。

主循环

GMainLoop结构是一个透明的数据类型,表示GLib或GTK应用程序的主事件循环。

映射文件

GMappedFile表示使用g_mapped_file_new()创建的文件映射。它仅包含私有成员,不应直接访问。

标记解析上下文

解析上下文用于解析一个你期望包含标记化文本的字节流。

标记解析器

GMarkupParser中的任何字段都可以为NULL,在这种情况下,它们将被忽略。除了错误函数外,这些回调中的任何一个都可以设置错误;特别是G_MARKUP_ERROR_UNKNOWN_ELEMENTG_MARKUP_ERROR_UNKNOWN_ATTRIBUTEG_MARKUP_ERROR_INVALID_CONTENT错误是为了从这些回调中设置而设计的。如果你从一个回调中设置错误,则g_markup_parse_context_parse将向其调用者报告该错误。

匹配信息

一个GMatchInfo是一个透明的结构,用于返回关于匹配的信息。

内存块

内存虚拟表

一组用于执行内存分配的函数。同一程序中的所有分配必须使用相同的<code>GMemVTable</code>;如果存在,则应在使用GLib之前调用<code>g_mem_set_vtable()</code>。

节点

<code>GNode</code>结构体代表一个[带n叉树][glib-N-ary-Trees]中的节点。

一次

<code>GOnce</code>结构体控制一个一次性初始化函数。任何一次性初始化函数都必须有自己的独特<code>GOnce</code>结构体。

since: 2.4

选项上下文

<code>GOptionContext</code>结构体定义了命令行选项解析器接受的选项。该结构体只有私有字段,不应直接访问。

选项条目

<code>GOptionEntry</code>结构体定义了一个单个选项。为了生效,它们必须通过<code>g_option_context_add_main_entries()</code>或<code>g_option_group_add_entries()</code>添加到<code>GOptionGroup</code>中。

选项组

<code>GOptionGroup</code>结构体定义了单个组中的选项。该结构体只有私有字段,不应直接访问。

路径缓冲区

<code>GPathBuf</code>是一个辅助类型,允许您使用平台特定的路径分隔符约定轻松构建路径。

since: 2.76

模式规范

<code>GPatternSpec</code>结构体是glob风格的模式的“编译”形式。

poll FD

表示一个文件描述符,用于轮询的事件,以及哪些事件发生。

私有

<code>GPrivate</code>结构体是一个表示线程本地数据键的不透明数据结构。它大致等同于POSIX上的pthread_setspecific()/pthread_getspecific() API以及Windows上的TlsSetValue()/TlsGetValue()。

指针数组

包含指针数组的公共字段。

队列

包含[队列][glib-Double-ended-Queues]的公共字段。

随机数

<code>GRand</code>结构体是不透明数据结构。它只能通过<code>g_rand_*</code>函数访问。

递归互斥锁

<code>GRecMutex</code>结构体是表示递归互斥锁的不透明数据结构。它与<code>GMutex</code>类似,区别在于可以在同一个线程中多次锁定<code>GRecMutex</code>而不会死锁。在这种情况下,需要注意的是要频繁地解锁递归互斥锁,以确保其与锁定次数相同。

自: 2.32

正则表达式

<code>GRegex</code>是正则表达式模式的“编译”形式。

since: 2.14

关系

<code>GRelation</code>是一个可以根据任何数量字段索引的数据表,类似于简单的数据库表。一个<code>GRelation</code>包含多个记录,称为元组。每个记录包含多个字段。记录是无序的,因此无法在特定索引处找到记录。

废弃: 2.26 

读写锁

<code>GRWLock</code>结构体是表示读写锁的不透明数据结构。它与<code>GMutex</code>类似,允许多个线程协调对共享资源的访问。

自: 2.32

扫描器

<code>GScanner</code>提供了一个通用的词法扫描器。

扫描器配置

指定<code>GScanner</code>解析配置。大多数设置可以在解析阶段更改,并将影响下一个未查看标记的词法解析。

序列

<code>GSequence</code>结构体是表示[序列][glib-Sequences]数据类型的不可见数据类型。

序列迭代器

<code>GSequenceIter</code>结构体是表示指向<code>GSequence</code>的迭代器的不可见数据类型。

SList

<code>GSList</code>结构体用于单链表的每个元素。

源代码

<code>GSource</code>结构体是表示事件的不可见数据类型。

源回调函数

结构体GSourceCallbackFuncs包含了用于管理回调对象的函数。

SourceFuncs

结构体GSourceFuncs包含了一个用于以通用方式处理事件源的函数表。

StatBuf

一个类似于在系统调用stat()中使用的结构体类型,具体取决于平台和/或正在使用的编译器。

StaticMutex

GStaticMutex的工作方式类似于GMutex

StaticPrivate

GStaticPrivate几乎与GPrivate一样工作,但它有一个显著的优点。它不需要在运行时创建,而可以在编译时定义。这与GMutexGStaticMutex之间的区别相似。

StaticRecMutex

GStaticRecMutex的工作方式类似于GStaticMutex,但可以被单个线程多次锁定。如果你进入它n次,你必须再次解除n次锁,以便其他线程可以锁定它。一个例外是函数g_static_rec_mutex_unlock_full():它可以完全解除GStaticRecMutex的锁定,返回深度(即这个互斥锁被锁定的次数)。这个深度可以稍后通过调用g_static_rec_mutex_lock_full()来恢复GStaticRecMutex的状态。在GLib 2.32版本中,已经弃用了GStaticRecMutex,转而使用GRecMutex

StaticRWLock

GStaticRWLock结构体表示一个读写锁。读写锁可以用于保护某些部分代码只读取而其他部分也写入的数据。在这种情况下,希望多个读取器可以同时读取,当然,一次只能有一个写者写入。

废弃: 2.32 

String

GString是一个处理C字符串内存管理的对象。

StringChunk

GStringChunk提供对字符串组的高效存储。

StrvBuilder

GStrvBuilder是一个辅助对象,用于构建以null终止的字符串数组。

since: 2.68

TestCase

一个表示测试用例的不可见结构体。

TestConfig

TestLogBuffer

TestLogMsg

TestSuite

一个表示测试套件的不可见结构体。

Thread

结构体表示一个正在运行的线程。这个结构体由g_thread_new()g_thread_try_new()返回。你可以通过调用g_thread_self()来获取表示当前线程的GThread结构体。

ThreadFunctions

此函数表不再由g_thread_init()用于初始化线程系统。

ThreadPool

GThreadPool结构体表示一个线程池。

Timer

GTimer记录一个开始时间,并计算自那时起微秒级已过的时间。

TimeVal

表示精确时间的类型,包含秒和微秒。

已弃用:2.62 

TimeZone

GTimeZone表示一个时区,没有特定的时刻。

since: 2.26

TrashStack

GTrashStack是保持未使用分配内存块栈的一种高效方法。每个内存块都需要足够大以容纳一个gpointer。这允许栈在没有任何空间开销的情况下维持,因为栈指针可以存储在内存块内部。

已弃用:2.48 

Tree

GTree结构体是一个代表[平衡二叉树][glib-Balanced-Binary-Trees]的不可见数据结构。它应该通过使用以下函数来访问。

TreeNode

一个表示在GTree中特定节点的不透明类型。

since: 2.68

Tuples

结构体GTuples用于通过g_relation_select()GRelation中返回记录(或元组)。它只包含一个公共成员——匹配的记录数。要访问匹配的记录,必须使用g_tuples_index()

废弃: 2.26 

Uri

类型GUri及其相关函数可以用来解析URI到其组件,并从单个组件构建有效的URI。

since: 2.66

UriParamsIter

许多URI方案包括一个或多个属性/值对作为URI值的一部分。例如scheme://server/path?query=string&is=there在其查询部分有两个属性——query=stringis=there

since: 2.66

变体

GVariant是一种变体数据类型;它可以包含一个或多个值,以及关于值的类型的信息。

自:2.24

VariantBuilder

用于构建容器型GVariant实例的实用类型。

VariantDict

GVariantDictGVariant字典的可变接口。

自:2.40

VariantIter

GVariantIter是一个不可知数据结构,只能通过以下函数进行访问。

VariantType

GVariant类型系统中的类型。

自:2.24

联合

DoubleIEEE754

GFloatIEEE754GDoubleIEEE754联合用于访问IEEE浮点型和双精度型的符号、尾部和指数。这些联合是根据特定平台定义的。至少Intel、PPC和Sparc支持IEEE浮点型和双精度型。

FloatIEEE754

GFloatIEEE754GDoubleIEEE754联合用于访问IEEE浮点型和双精度型的符号、尾部和指数。这些联合是根据特定平台定义的。至少Intel、PPC和Sparc支持IEEE浮点型和双精度型。

Mutex

GMutex结构是一个不可知数据结构,用于表示互斥锁。它可以用来保护数据免受共享访问。

TokenValue

包含令牌值的联合。

别名

DateDay

表示月份中某天的整数;介于1和31之间。

DateYear

表示年份的整数类型。

MainContextPusher

不可知类型。有关详细信息,请参阅g_main_context_pusher_new()

MutexLocker

不可知类型。有关详细信息,请参阅g_mutex_locker_new()

Pid

一种用于持有进程标识的类型。

Quark

GQuark是一个非零整数,它唯一地标识了特定的字符串。

RecMutexLocker

不可知类型。有关详细信息,请参阅g_rec_mutex_locker_new()

RefString

是引用计数字符串的一个typedef。所有代码可以将对GRefString的指针视为标准char*数组,但可以调用附加的方法g_ref_string_*()。如果未使用g_ref_string_new()分配,则无法在char*数组上调用g_ref_string_*()方法。

RWLockReaderLocker

不可知类型。有关详细信息,请参阅g_rw_lock_reader_locker_new()

RWLockWriterLocker

不可知类型。有关详细信息,请参阅g_rw_lock_writer_locker_new()

Strv

gchar**的一个typedef别名。当与g_auto()一起使用时,这非常有用。

Time

简单地替换了time_t。自从它在具有64位time_t的64位平台上不等于time_t以来,它已经过时。

已弃用:2.62 

TimeSpan

表示时间间隔的值,单位为微秒。

枚举

ChecksumType

GChecksum在执行某些数据的摘要时使用的哈希算法。

自: 2.16

DateDMY

此枚举未在API中使用,但如果有必要将一个数字标记为日、月或年,可能很有用。

DateMonth

代表月份的枚举;值是G_DATE_JANUARYG_DATE_FEBRUARY等。G_DATE_BAD_MONTH是无效值。

DateWeekday

表示星期的枚举;《G_DATE_MONDAY、《G_DATE_TUESDAY》等。G_DATE_BAD_WEEKDAY是无效的星期。

ErrorType

当令牌是《G_TOKEN_ERROR》时,在《GTokenValue》的《v_error》字段中使用的可能错误。

IOError

GIOError仅用于过时的函数g_io_channel_read()g_io_channel_write()g_io_channel_seek()

IOStatus

大多数GIOFuncs函数返回的状态。

LogWriterOutput

GLogWriterFuncs 返回的值表示是否成功地处理了给定的日志条目,或者在处理过程中出现了错误(因此应使用后备写入器)。

since: 2.50

NormalizeMode

定义了Unicode字符串如何转换为规范形式,标准化诸如带有重音符号的字符是表示为基础字符和组合重音还是单个预先组合字符等问题。通常在比较Unicode字符串之前要先进行规范化。

OnceStatus

GOnce 结构控制的单次初始化函数的可能状态。

since: 2.4

OptionArg

GOptionArg 枚举值确定选项期望的额外参数类型。如果选项期望额外的参数,可以通过以下几种方式指定;使用简写选项:-x arg,使用长选项:--name arg 或将它们合并为单一参数:--name=arg

SeekType

指定 g_io_channel_seek_position() 操作的基坐标。

SliceConfig

TestFileType

当与 g_test_build_filename() 一起使用时,返回文件名所代表的文件类型。

since: 2.38

TestLogType

TestResult

ThreadPriority

线程优先级。

废弃: 2.32 

TimeType

以两种方式区分给定的时间。

TokenType

从每个 g_scanner_get_next_token() 调用返回的可能标记类型。

TraverseType

指定由 g_tree_traverse(),g_node_traverse() 和 g_node_find() 执行的遍历类型。

UnicodeBreakType

这些是要可能的行中断分类。

UnicodeScript

GUnicodeScript 枚举识别不同的书写系统。值对应于在Unicode标准中定义的名称。枚举在GLib 2.14中添加,可互换使用 PangoScript

UnicodeType

这些是从Unicode规范的角度来确定可能的字符分类。请参阅Unicode字符数据库

UserDirectory

这些是在平台定义的基础上定义的特殊目录的逻辑ID。您应使用 g_get_user_special_dir() 来检索与逻辑ID关联的完整路径。

since: 2.14

VariantClass

GVariant 实例可能的顶级类型范围。

自:2.24

位字段

AsciiType

FileSetContentsFlags

这些是将传递给 g_file_set_contents_full() 以影响其安全性和性能的标志。

since: 2.66

FileTest

使用 g_file_test() 在文件上执行测试。

FormatSizeFlags

这些将修改由 g_format_size_full() 返回的字符串格式的标志。

HookFlagMask

GHook 实现内部使用的标志。

IOCondition

代表在事件源上监视的条件的一个位组合。

IOFlags

指定 GIOChannel 的属性。某些标志只能通过 g_io_channel_get_flags() 读取,但不能通过 g_io_channel_set_flags() 更改。

KeyFileFlags

影响解析的标志。

LogLevelFlags

指定日志消息级别的标志。

MainContextFlags

通过 g_main_context_new_with_flags() 传递并影响 GMainContext 行为的标志。

since: 2.72

MarkupCollectType

一个混合的枚举类型和标志字段。您必须指定一个类型(字符串、strdup、布尔值、tristate)。此外,您还可以可选地使用位或操作将类型与标志 G_MARKUP_COLLECT_OPTIONAL 进行组合。

MarkupParseFlags

影响解析器行为的标志。

OptionFlags

修改单个选项的标志。

RegexCompileFlags

指定编译时选项的标志。

since: 2.14

RegexMatchFlags

指定匹配时选项的标志。

since: 2.14

SpawnFlags

传递给 g_spawn_sync()、g_spawn_async() 和 g_spawn_async_with_pipes() 的标志。

TestSubprocessFlags

传递给 g_test_trap_subprocess() 以控制输入和输出的标志。

TestTrapFlags

传递给 g_test_trap_fork() 以控制输入和输出的标志。

已弃用:2.38 

TraverseFlags

指定在包括 g_node_traverse()g_node_find() 在内的几个树函数中访问哪些节点。

UriFlags

描述 URI 的标志。

since: 2.66

UriHideFlags

描述在 g_uri_to_string_partial() 中要隐藏的 URI 的部分。请注意,G_URI_HIDE_PASSWORDG_URI_HIDE_AUTH_PARAMS 只有在使用相应的标志解析 GUri 时才会工作。

since: 2.66

UriParamsFlags

修改 g_uri_parse_params()GUriParamsIter 处理参数方式的标志。

since: 2.66

Error Domains

BookmarkFileError

书签文件解析返回的错误代码。

ConvertError

字符集转换例程返回的错误代码。

FileError

与 UNIX 上的文件操作返回的 errno 代码相对应的值。与 errno 代码不同,GFileError 值在所有系统上都是可用的,即使在 Windows 上也是如此。每个代码的确切含义取决于你执行了何种类型的文件操作;UNIX 文档提供了更多详细信息。以下错误代码描述来自 GNU C 库手册,并受该手册版权保护。

IOChannelError

GIOChannel 操作返回的错误代码。

KeyFileError

键文件解析返回的错误代码。

MarkupError

标记解析返回的错误代码。

NumberParserError

将字符串转换为数字时返回的错误代码。

since: 2.54

OptionError

选项解析返回的错误代码。

RegexError

正则表达式函数返回的错误代码。

since: 2.14

ShellError

shell 函数返回的错误代码。

SpawnError

启动进程返回的错误代码。

ThreadError

线程相关函数的可能错误。

UriError

GUri 方法返回的错误代码。

since: 2.66

VariantParseError

解析文本格式 GVariants 返回的错误代码。

Callbacks

CacheDestroyFunc

指定 g_cache_new() 传递的 value_destroy_funckey_destroy_func 函数的类型。这些函数接收指向 GCache 键或值的指针,并且应该释放与它关联的任何内存和其他资源。

废弃: 2.32 

CacheDupFunc

指定传递给 g_cache_new() 的 key_dup_func 函数的类型。功能传递一个键(并非如原形所示为值)并且应该返回键的副本。

废弃: 2.32 

CacheNewFunc

指定传递给 g_cache_new() 的 value_new_func 函数的类型。它传递一个 GCache 键,并应该创建与键对应的值。

废弃: 2.32 

ChildWatchFunc

GChildWatchSource 回调的原型,当子进程已退出时调用。

ClearHandleFunc

指定传递给 g_clear_handle_id() 的函数类型。实现预期将释放由 handle_id 识别的资源;例如,如果 handle_idGSource ID,则可以使用 g_source_remove()

since: 2.56

CompareDataFunc

指定用于比较两个值的比较函数的类型。函数应返回一个负整数,如果第一个值在第二个值之前,则返回 0,如果它们相等,则返回正整数,如果第一个值在第二个值之后。

CompareFunc

指定用于比较两个值的比较函数的类型。函数应返回一个负整数,如果第一个值在第二个值之前,则返回 0,如果它们相等,则返回正整数,如果第一个值在第二个值之后。

CompletionFunc

指定传递给 g_completion_new() 的函数的类型。它应该返回对应给定目标项的字符串。当您使用数据结构作为 GCompletion 项时使用此功能。

废弃: 2.26 

CompletionStrncmpFunc

指定传递给g_completion_set_compare()的函数类型。当使用字符串作为GCompletion项时,会使用此类型。

废弃: 2.26 

CopyFunc

此签名函数用于在执行树深复制时复制节点数据。

since: 2.4

DataForeachFunc

指定传递给g_dataset_foreach()的函数类型。它使用每个GQuark id和关联的数据元素调用,以及供g_dataset_foreach()提供的user_data参数。

DestroyNotify

指定在销毁数据元素时调用的函数类型。它传递数据元素的指针,应该释放为其分配的任何内存和资源。

DuplicateFunc

用于“复制”对象的函数类型。具体含义取决于上下文,如果是ref-counted对象,则可能只是增加引用计数。

EqualFunc

指定用于测试两个值是否相等的函数类型。如果两个值相等,则函数应返回TRUE,否则返回FALSE。

EqualFuncFull

指定用于测试两个值是否相等的函数类型。如果两个值相等,则函数应返回TRUE,否则返回FALSE。

自2.74以来

ErrorClearFunc

指定在释放扩展错误实例时调用的函数类型。它传递即将释放的错误指针,并应释放错误的私有数据字段。

since: 2.68

ErrorCopyFunc

指定在复制扩展错误实例时调用的函数类型。它传递目标错误和源错误的指针,并且应只复制从src_error到dest_error的私有数据字段。

since: 2.68

ErrorInitFunc

指定在创建扩展错误实例并填写其字段后调用的函数类型。它应该仅在私有数据中初始化字段,这些字段可以通过生成的*_get_private()函数接收。

since: 2.68

FreeFunc

声明一个接受任意数据指针参数且无返回值的函数类型。目前GLib或GTK中不使用。

Func

指定传递给g_list_foreach()和g_slist_foreach()的函数类型。

HashFunc

指定传递给g_hash_table_new()以创建GHashTable时使用的哈希函数类型。

HFunc

指定传递给g_hash_table_foreach()的函数类型。它使用每个键/值对调用,包括传递给g_hash_table_foreach()的user_data参数。

HookCheckFunc

定义了可以由g_hook_list_invoke_check()调用的钩子函数类型。

HookCheckMarshaller

定义了g_hook_list_marshal_check()使用的函数类型。

HookCompareFunc

定义了用于在g_hook_insert_sorted()中比较GHook元素的函数类型。

HookFinalizeFunc

定义了在挂钩列表中挂钩获得最终状态时要调用的函数类型。

HookFindFunc

定义了传递给g_hook_find()的函数类型。

HookFunc

定义了可以由g_hook_list_invoke()调用的钩子函数类型。

HookMarshaller

定义了g_hook_list_marshal()使用的函数类型。

HRFunc

指定传递给g_hash_table_find()、g_hash_table_foreach_remove()和g_hash_table_foreach_steal()的函数类型。

IOFunc

指定传递给g_io_add_watch()或g_io_add_watch_full()的函数类型,当请求的GIOChannel条件满足时调用。

LogFunc

指定日志处理函数的原型。

LogWriterFunc

日志条目的写入函数。一个日志条目是一组一个或多个GLogFields,使用来自日志规范的标准字段名称。有关更多信息,请参阅g_log_structured()。

since: 2.50

NodeForeachFunc

指定传递给g_node_children_foreach()的函数类型。该函数使用每个子节点调用,包括传递给g_node_children_foreach()的用户数据。

节点遍历函数

指定传递给g_node_traverse()的函数类型。该函数对访问的每个节点进行调用,并携带传递给g_node_traverse()的用户数据。如果函数返回TRUE,则遍历停止。

选项回调函数

传递给G_OPTION_ARG_CALLBACK选项的回调函数的类型。

选项错误函数

解析错误时使用的回调函数的类型。

解析选项函数

在解析前后的函数类型。

轮询函数

指定传递给g_main_context_set_poll_func()的函数类型。该函数的语义应与poll()系统调用相同。

打印函数

指定打印处理函数的类型。这些函数使用完整的格式化字符串进行输出。

正则表达式评估回调

传递给g_regex_replace_eval()的函数类型。对于传递给g_regex_replace_eval()的字符串中的每个模式出现,它都会被调用,并将替换文本追加到result中。

since: 2.14

扫描器消息函数

指定消息处理函数的类型。

序列迭代器比较函数

GSequenceIterCompareFunc是用于比较迭代器的函数。如果迭代器相等,则必须返回零;如果a排在b之前,则返回负值;如果b排在a之前,则返回正值。

源释放函数

source的释放函数。有关详情,请参阅g_source_set_dispose_function()

自2.64以来

源哑封装

这是一个用来替代GClosureMarshal的占位符,由于依赖关系,在此处无法使用。

源函数

指定传递给g_timeout_add()、g_timeout_add_full()、g_idle_add()和g_idle_add_full()的函数类型。

源函数检查函数

检查源是否准备好分发。

自2.82以来

源函数分发函数

分发表达式回调。

自2.82以来

源函数终止函数

最终化源。

自2.82以来

源函数准备函数

检查源是否准备就绪。

自2.82以来

源单次函数

一个源函数,它在被从主上下文中自动移除之前只调用一次。

自2.74以来

派生子设置函数

指定传递给g_spawn_async()、g_spawn_sync()和g_spawn_async_with_pipes()的设置函数的类型。在有限的方式下,可以用来影响子进程的执行。

测试数据函数

用于带有额外指针参数的测试用例函数的类型。

自2.28以来

测试固定函数

用于在测试固定函数上操作的函数的类型。

自2.28以来

测试函数

用于测试用例函数的类型。

自2.28以来

测试日志致命函数

致命日志处理函数的原型。

自2.22以来

线程函数

指定传递给g_thread_new()或g_thread_try_new()的func函数的类型。

转换函数

用于转换用户可见字符串的函数类型,用于输出。

遍历函数

指定传递给g_tree_traverse()的函数类型。它传递每个节点的键和值,以及传递给g_tree_traverse()的user_data参数。如果函数返回TRUE,则遍历停止。

遍历节点函数

指定传递给g_tree_foreach_node()的函数类型。它传递每个节点,以及传递给g_tree_foreach_node()的user_data参数。如果函数返回TRUE,则遍历停止。

since: 2.68

无参函数

声明一种没有参数也不返回值的函数类型。用于指定传递给g_atexit()的类型函数。

函数

访问

这是一个对POSIX ACCESS 函数的包装。此函数用于测试文件路径的读取、写入或执行权限,或者只是检查是否存在。

自:2.8

aligned_alloc

此函数类似于g_malloc(),分配 n_blocks * n_block_bytes 字节,但需要注意按照给定的对齐值对分配的内存进行对齐。此外,它还会检测乘法过程中的可能的溢出。

since: 2.72

aligned_alloc0

此函数类似于g_aligned_alloc(),但会在返回之前清除分配的内存。

since: 2.72

aligned_free

释放g_aligned_alloc()分配的内存。

since: 2.72

aligned_free_sized

释放指向 mem 的内存,假设它的 sizealignment 已知。

since: 2.76

ascii_digit_value

确定字符作为十进制数字的数值。如果字符不是根据 g_ascii_isdigit() 为十进制数字,将返回 -1

ascii_dtostr

gdouble 转换为字符串,使用 '.' 作为小数点。

ascii_formatd

gdouble 转换为字符串,使用 '.' 作为小数点。传递一个 printf() 样式的格式字符串来格式化数字。支持的转换说明符有 'e'、'E'、'f'、'F'、'g' 和 'G'。

ascii_strcasecmp

比较两个字符串,忽略ASCII字符的大小写。

ascii_strdown

将所有大写ASCII字母转换为小写ASCII字母,其语义与 g_ascii_tolower() 相匹配。

ascii_string_to_signed

将字符串转换为有符号数的便利函数。

since: 2.54

ascii_string_to_unsigned

将字符串转换为无符号数的便利函数。

since: 2.54

ascii_strncasecmp

比较 s1s2,忽略ASCII字符的大小写和每个字符串中第一个 n 之后的所有字符。如果任一字符串的长度小于 n 字节,比较将在遇到的第一个空字符处停止。

ascii_strtod

将字符串转换为浮点值。

ascii_strtoll

将字符串转换为 gint64 值。

自: 2.12

ascii_strtoull

将字符串转换为 guint64 值。

自:2.2

ascii_strup

将所有小写ASCII字母转换为大写ASCII字母,其语义与 g_ascii_toupper() 相匹配。

ascii_tolower

将字符转换为ASCII小写。如果字符不是ASCII大写字母,则不变。

ascii_toupper

将字符转换为ASCII大写。如果字符不是ASCII小写字母,则不变。

ascii_xdigit_value

确定字符作为十六进制数字的数值。如果字符不是根据 g_ascii_isxdigit() 为十六进制数字,将返回 -1

assert_warning

assertion_message

assertion_message_cmpint

assertion_message_cmpnum

assertion_message_cmpstr

assertion_message_cmpstrv

assertion_message_error

assertion_message_expr

内部函数,用于从公共 g_assert()g_assert_not_reached() 宏打印消息。

atexit

指定在程序正常结束时调用的函数。

废弃: 2.32 

atomic_int_add

以原子操作将 val 添加到 atomic 的值中。

since: 2.4

atomic_int_and

atomicval 进行原子位运算“与”,结果存储回 atomic

since: 2.30

atomic_int_compare_and_exchange

比较 atomic 是否等于 oldval,如果等于,则将其设置为 newval。如果 atomic 不等于 oldval,则不发生任何变化。

since: 2.4

atomic_int_compare_and_exchange_full

比较 atomicoldval,如果等于,则将其设置为 newval。如果 atomic 不等于 oldval,则不发生任何变化。在任何情况下,该操作之前 atomic 的值将存储在 preval 中。

自2.74以来

atomic_int_dec_and_test

atomic 的值减 1。

since: 2.4

atomic_int_exchange

atomic 设置为 newval 并返回 atomic 的旧值。

自2.74以来

atomic_int_exchange_and_add

此函数在 g_atomic_int_add() 返回整数的前一个值之前存在(它现在这样做了)。出于兼容性原因而保留此函数。请勿在新代码中使用此函数。

已弃用:2.30 自 2.4

atomic_int_get

获取 atomic 的当前值。

since: 2.4

atomic_int_inc

atomic 的值加 1。

since: 2.4

atomic_int_or

atomicval 进行原子位运算“或”,结果存储回 atomic

since: 2.30

atomic_int_set

atomic 的值设置为 newval

since: 2.4

atomic_int_xor

atomicval 进行原子位运算“异或”,结果存储回 atomic

since: 2.30

atomic_pointer_add

以原子操作将 val 添加到 atomic 的值中。

since: 2.30

atomic_pointer_and

atomicval 进行原子位运算“与”,结果存储回 atomic

since: 2.30

atomic_pointer_compare_and_exchange

比较 atomic 是否等于 oldval,如果等于,则将其设置为 newval。如果 atomic 不等于 oldval,则不发生任何变化。

since: 2.4

atomic_pointer_compare_and_exchange_full

比较 atomicoldval,如果等于,则将其设置为 newval。如果 atomic 不等于 oldval,则不发生任何变化。在任何情况下,该操作之前 atomic 的值将存储在 preval 中。

自2.74以来

atomic_pointer_exchange

atomic 设置为 newval 并返回 atomic 的旧值。

自2.74以来

atomic_pointer_get

获取 atomic 的当前值。

since: 2.4

atomic_pointer_or

atomicval 进行原子位运算“或”,结果存储回 atomic

since: 2.30

atomic_pointer_set

atomic 的值设置为 newval

since: 2.4

atomic_pointer_xor

atomicval 进行原子位运算“异或”,结果存储回 atomic

since: 2.30

atomic_rc_box_acquire

原子地获取指向 mem_block 指的数据的引用。

since: 2.58

atomic_rc_box_alloc

分配 block_size 字节的内存,并为它添加原子引用计数语义。

since: 2.58

atomic_rc_box_alloc0

分配 block_size 字节的内存,并为它添加原子引用计数语义。

since: 2.58

atomic_rc_box_dup

分配具有原子引用计数语义的新数据块,并将 mem_blockblock_size 字节的内存复制到它中。

since: 2.58

atomic_rc_box_get_size

检索由 mem_block 指向的引用计数值据的大小。

since: 2.58

atomic_rc_box_release

原子地释放指向 mem_block 指向的数据的引用。

since: 2.58

atomic_rc_box_release_full

原子地释放指向 mem_block 指向的数据的引用。

since: 2.58

atomic_ref_count_compare

原子地比较 arc 的当前值与 val

since: 2.58

atomic_ref_count_dec

原子地减少引用计数。

since: 2.58

atomic_ref_count_inc

原子地增加引用计数。

since: 2.58

atomic_ref_count_init

将引用计数变量初始化为 1。

since: 2.58

base64_decode

将一系列 Base-64 编码的文本解码成二进制数据。注意,返回的二进制数据不一定以空字符终止,因此不应将其用作字符串。

自: 2.12

base64_decode_inplace

通过覆盖输入数据将一系列 Base-64 编码的文本解码成二进制数据。

since: 2.20

base64_decode_step

将二进制数据从其 Base-64 字符串表示形式逐渐解码。通过多次调用此函数,可以分块转换数据,以避免需要在内存中存储完整的编码数据。

自: 2.12

base64_encode

将二进制数据编码为其 Base-64 字符串表示形式。

自: 2.12

base64_encode_close

从对 g_base64_encode_step() 的多次调用中刷新状态。

自: 2.12

base64_encode_step

以增量方式将二进制数据编码为其Base-64字符串表示形式。通过多次调用此函数,可以将数据分块转换,避免需要在内存中拥有完整的编码数据。

自: 2.12

basename

获取不含任何前缀目录组件的文件名。它返回给定文件名字符串的指针。

已过时:2.2

bit_lock

address中设置指定的lock_bit。如果该位已设置,则此调用将阻塞,直到调用g_bit_unlock()清除相应的位。

自:2.24

bit_nth_lsf

mask中查找第一个设置的位的位置,从(但不包括)nth_bit向上搜索。位从0(最低位)编号到sizeof(#gulong) * 8 - 1(通常是31或63)。要从第0位开始搜索,将nth_bit设置为-1。

bit_nth_msf

mask中查找第一个设置的位的位置,从(但不包括)nth_bit向下搜索。位从0(最低位)编号到sizeof(#gulong) * 8 - 1(通常是31或63)。要从最后一个位开始搜索,将nth_bit设置为-1或GLIB_SIZEOF_LONG * 8。

bit_storage

获取存储number所需的使用位数,例如,如果number是4,则需要3位。

bit_trylock

address中设置指定的lock_bit,如果成功则返回TRUE。如果该位已设置,则立即返回FALSE

自:2.24

bit_unlock

清除address中指定的lock_bit。如果另一个线程当前正在此位上通过g_bit_lock()阻塞,则将其唤醒。

自:2.24

blow_chunks

build_filename

使用当前平台正确的分隔符,从一系列元素中创建文件名。

build_filename_valist

使用当前平台正确的分隔符,从元素列表中创建文件名。

since: 2.56

build_filenamev

使用当前平台正确的分隔符,从元素数组中创建文件名。

自:2.8

build_path

使用separator作为元素之间的分隔符,从一系列元素中创建路径。

build_pathv

与g_build_path()的行为完全相同,但它将路径元素作为字符串数组,而不是变长参数。

自:2.8

canonicalize_filename

filename获取规范文件名。所有三个斜杠都被转换为单个斜杠,所有...都与relative_to解析。

since: 2.58

chdir

POSIX chdir()函数的封装。该函数将进程的当前目录更改为path

自:2.8

check_version

检查使用的GLib库与给定的版本是否兼容。

since: 2.6

child_watch_add

设置一个函数,当指定的pid的子进程退出时,以默认优先级G_PRIORITY_DEFAULT调用。

since: 2.4

child_watch_add_full

设置一个函数,当指定的pid的子进程退出时,以priority指定的优先级调用。

since: 2.4

child_watch_source_new

创建一个新的child_watch源。

since: 2.4

chmod

POSIX chmod()函数的封装。使用chmod()函数设置文件系统对象的权限。

自:2.8

clear_error

如果err*errNULL,则不执行任何操作。否则,对*err调用g_error_free()并将*err设置为NULL

clear_fd

如果fd_ptr指向文件描述符,则关闭它并返回是否成功关闭,类似于g_close()。如果fd_ptr指向一个负数,则在不关闭任何内容的情况下返回TRUE。在这两种情况下,在返回之前将fd_ptr设置为-1

since: 2.76

clear_handle_id

清除数字处理程序,例如一个GSource ID

since: 2.56

clear_list

清除指向一个GList的指针,释放它并(可选地)使用destroy释放其元素。

自2.64以来

clear_pointer

清除对变量的引用。

since: 2.34

clear_slist

清除对一个 GSList 指针的操作,释放它,并且可选地使用 destroy 释放它的元素。

自2.64以来

close

该操作封装了 close() 调用。在错误情况下,%errno 将被保留,但错误也将以 GError 的形式存储在 error 中。在成功情况下,%errno 未定义。

自:2.36

closefrom

关闭等于或将大于 lowfd 的每个文件描述符。

自:2.80

compute_checksum_for_bytes

计算二进制 data 的校验和。这是 g_checksum_new()、g_checksum_get_string() 和 g_checksum_free() 的便捷封装。

since: 2.34

compute_checksum_for_data

计算长度为 length 的二进制 data 的校验和。这是 g_checksum_new()、g_checksum_get_string() 和 g_checksum_free() 的便捷封装。

自: 2.16

compute_checksum_for_string

计算字符串的校验和。

自: 2.16

compute_hmac_for_bytes

计算二进制 data 的 HMAC。这是 g_hmac_new()、g_hmac_get_string() 和 g_hmac_unref() 的便捷封装。

since: 2.50

compute_hmac_for_data

计算长度为 length 的二进制 data 的 HMAC。这是 g_hmac_new()、g_hmac_get_string() 和 g_hmac_unref() 的便捷封装。

since: 2.30

compute_hmac_for_string

计算字符串的 HMAC。

since: 2.30

convert

将字符串从一种字符集转换为另一种字符集。

convert_error_quark

convert_with_fallback

将字符串从一种字符集转换为另一种字符集,可能包括用于在输出中不可表示的字符的回退序列。请注意,不能保证在 fallback 中指定的回退序列规范将被遵守。某些系统可能在它们的 iconv() 函数中将 from_codesetto_codeset 的近似转换,在这种情况下,GLib 将返回该近似转换。

convert_with_iconv

将字符串从一种字符集转换为另一种字符集。

creat

This 是 POSIX creat() 函数的封装。该 creat() 函数用于将路径名转换为文件描述符,如果需要则创建文件。

自:2.8

datalist_clear

释放 datalist 的所有数据元素。如果已设置,将调用数据元素的 destroy 函数。

datalist_foreach

为 datalist 的每个数据元素调用给定的函数。该函数带有每个数据元素的 GQuark id 和数据以及提供的 user_data 参数。请注意,此函数 NOT 是线程安全的。所以除非 datalist 可以在调用此函数期间得到保护以免受到任何修改,否则不应该调用它。

datalist_get_data

使用字符串标识符获取一个数据元素。这与 g_datalist_id_get_data() 相比更慢,因为它会比较字符串。

datalist_get_flags

获取与 datalist 一起打包的标志值。参见 g_datalist_set_flags()。

自:2.8

datalist_id_dup_data

This 是 g_datalist_id_get_data() 的一个变体,它返回一个“副本”的值。《dup_func》定义了在此上下文中“副本”的含义,例如,可以是一个引用计数的对象的引用。

since: 2.34

datalist_id_get_data

检索与 key_id 对应的数据元素。

datalist_id_remove_multiple

从一个 datalist 中删除多个键。

自2.74以来

datalist_id_remove_no_notify

删除一个元素,不调用其 destroy 通知函数。

datalist_id_replace_data

比较与 datalistkey_id 关联的成员和 oldval,如果它们相同,则使用 newval 替换 oldval

since: 2.34

datalist_id_set_data_full

设置与给定的 GQuark id 对应的数据,以及当元素从数据列表中移除时要调用的函数。删除任何具有相同键的先前数据,并调用其销毁函数。

datalist_init

将数据列表重置为 NULL。它不会释放任何内存或调用任何销毁函数。

datalist_set_flags

为数据列表打开标志值。此函数用于在不使用任何额外空间的情况下在具有数据列表的对象中保留少量布尔标志。除空间非常紧张的情况外,通常没有实际用途。(例如,在基本 GObject 类型中使用。)

自:2.8

datalist_unset_flags

关闭数据列表的标志值。参见 g_datalist_unset_flags

自:2.8

dataset_destroy

销毁数据集,释放所有分配的内存,并调用为数据元素设置的任何销毁函数。

dataset_foreach

对给定位置关联的每个数据元素调用所提供的函数。请注意,此函数 NOT 线程安全。因此,除非 dataset_location 可以在调用此函数时受到任何修改的保护,否则不应调用。

dataset_id_get_data

获取与 GQuark 对应的数据元素。

dataset_id_remove_no_notify

删除一个元素,不调用其 destroy 通知函数。

dataset_id_set_data_full

设置与给定 GQuark id 关联的数据元素,并在销毁数据元素时调用函数。删除任何具有相同键的先前数据,并调用其销毁函数。

dcgettext

这是 g_dgettext() 的一种变体,允许指定区域设置类别而不是始终使用 LC_MESSAGES。有关此函数与直接调用 dcgettext 的区别的更多信息,请参见 g_dgettext

since: 2.26

dgettext

此函数是 dgettext() 的包装器,如果不翻译消息,则默认域(使用 textdomain() 设置)没有为当前区域设置提供翻译。

since: 2.18

direct_equal

比较两个 #gpointer 参数并返回它们相等时返回 TRUE。可以将它传递到 g_hash_table_new() 作为 key_equal_func 参数,当使用与指针值比较的不可见指针作为 GHashTable 中的键时。

direct_hash

将指点器转换为哈希值。可以将它传递到 g_hash_table_new() 作为 hash_func 参数,当使用与指针值比较的不可见指针作为 GHashTable 中的键时。

dngettext

此函数是 dngettext() 的包装器,如果不翻译消息,则默认域(使用 textdomain() 设置)没有为当前区域设置提供翻译。

since: 2.18

double_equal

比较所指向的两个 #gdouble 值,并且如果它们相等则返回 TRUE。可以将它传递到 g_hash_table_new() 作为 key_equal_func 参数,当使用对非 NULL 的双指针作为 GHashTable 中的键时。

自2.22以来

double_hash

将指向 #gdouble 的指针转换为哈希值。可以将它传递到 g_hash_table_new() 作为 hash_func 参数,当使用对非 NULL 的双指针作为 GHashTable 中的键时。

自2.22以来

dpgettext

此函数是g_dgettext()的变体,支持消歧义的消息上下文。GNU gettext使用字符‘\004’在msgctxtid中分隔消息上下文和消息ID。如果将0作为msgidoffset传递,该函数将回退到使用已弃用的“|”作为分隔符的约定。

自: 2.16

dpgettext2

此函数是g_dgettext()的变体,支持消歧义的消息上下文。GNU gettext使用字符‘\004’在msgctxtid中分隔消息上下文和消息ID。

since: 2.18

environ_getenv

在提供的列表envp中返回环境变量variable的值。

自: 2.32

environ_setenv

将提供的列表envp中的环境变量variable设置为value

自: 2.32

environ_unsetenv

从提供的环境envp中删除环境变量variable

自: 2.32

fdwalk_set_cloexec

标记所有等于或大于lowfd的文件描述符在下一个execve()或类似操作时关闭,就像通过FD_CLOEXEC标志一样。

自:2.80

file_error_from_errno

根据传入的err_no获取一个GFileError常量。

file_error_quark

file_get_contents

将整个文件读入分配的内存,具有良好的错误检查。

file_open_tmp

在临时文件的首选目录中打开文件用于写入(由g_get_tmp_dir()返回的)。

file_read_link

像POSIX readlink()函数一样读取符号链接filename的内容。

since: 2.4

file_set_contents

将所有contents写入名为filename的文件。这是调用g_file_set_contents_full()且将flags设置为G_FILE_SET_CONTENTS_CONSISTENT | G_FILE_SET_CONTENTS_ONLY_EXISTINGmode设置为0666的便利包装。

自:2.8

file_set_contents_full

将所有contents写入名为filename的文件,具有良好的错误检查。如果已存在名为filename的文件,则将其覆盖。

since: 2.66

file_test

如果位域test中的任何测试都为TRUE,则返回TRUE。例如,(G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR)在文件存在时返回TRUE;由于存在测试为TRUE,检查它是否为目录并不重要。当前可用的测试集,同时传递多个测试没有意义。

filename_display_basename

返回特定文件名的显示基本名,保证是有效的UTF-8。显示名称可能与文件名不完全相同,例如,可能存在转换为UTF-8时的问题,并且某些文件可以在显示时被翻译。

since: 2.6

filename_display_name

将文件名转换为有效的UTF-8字符串。转换不一定可逆,所以你应该保留原始文件名,并只将此函数的返回值用于显示目的。与g_filename_to_utf8()不同,即使文件名实际上不在GLib文件命名编码中,结果也保证非NULL

since: 2.6

filename_from_uri

将转义的ASCII编码URI转换为用于文件名的编码的本地文件名。

filename_from_utf8

将字符串从UTF-8转换为GLib用于文件名的编码。请注意,在Windows上GLib使用UTF-8作为文件名编码;在其他平台上,此函数间接依赖于当前区域设置。

filename_to_uri

将绝对文件名转换为逃逸的ASCII编码URI,路径组件遵守RFC 2396第3.3节。

filename_to_utf8

将使用GLib编码的字符串转换为UTF-8字符串。请注意,在Windows上,GLib使用UTF-8作为文件名的编码;在其他平台上,此函数间接依赖于[当前区域设置][setlocale]。

find_program_in_path

以类似于`execvp()`查找它的方式,在用户的路径中查找名为`program`的第一个可执行文件。返回一个包含绝对路径名的分配字符串,如果路径中找不到该程序,则返回`NULL`。如果`program`已经是绝对路径,则如果`program`存在且可执行,返回`program`的副本,否则返回`NULL`。

在Windows上,如果`program`没有文件类型后缀,将尝试使用后缀.exe、.cmd、.bat和.com,以及环境变量`PATHEXT`中的后缀。

fopen

`fopen()`函数的包装器。`fopen()`函数打开文件并与之关联一个新的流。

since: 2.6

format_size

将大小(例如文件的大小)格式化为人可读的字符串。大小四舍五入到最接近的大小前缀(kB、MB、GB),并且四舍五入到最近的十分之一显示。例如,文件大小3292528字节将转换为字符串“3.2 MB”。返回的字符串是UTF-8,并且可能使用非断空格来分隔数字和单位,以确保它们在换行时不会被分开。

since: 2.30

format_size_for_display

将大小(例如文件的大小)格式化为人可读的字符串。大小四舍五入到最接近的大小前缀(KB、MB、GB),并且四舍五入到最近的十分之一显示。例如,文件大小3292528字节将转换为字符串“3.1 MB”。

已弃用:2.30 自:2.16

format_size_full

格式化大小。

since: 2.30

fprintf

实现了支持位置参数的标准`fprintf()`函数,具体要求参考单Unix规范。

自:2.2

free

释放由`mem`指向的内存。

free_sized

释放由`mem`指向的内存,假设它具有给定的`size`。

since: 2.76

freopen

`freopen()`函数的包装器。`freopen()`函数打开文件并将其与一个现有的流关联。

since: 2.6

fsync

`fsync()`函数的包装器。在Windows上,`_commit()`将被使用。在macOS上,`fcntl(F_FULLFSYNC)`将被使用。`fsync()`函数用于将文件的内核状态与磁盘上的状态同步。

自2.64以来

get_application_name

获取由`g_set_application_name()`设置的应应用程序的人可读名称。如果可能,这个名称应该本地化,并且打算用于向用户显示。与`g_get_prgname()`相反,后者获取一个非本地化名称。如果没有调用`g_set_application_name()`,则返回`g_get_prgname()`的结果(如果也没有调用`g_set_prgname()`,可能为`NULL`)。

自:2.2

get_charset

获取[当前区域设置][setlocale]的字符集;您可能可以将此字符集用作`g_convert()`的参数,以将当前区域设置的编码转换为另一种编码。(虽然`g_locale_to_utf8()`和`g_locale_from_utf8()`是一些很好的快捷方式,但)。

get_codeset

获取当前区域设置的字符集。

get_console_charset

获取进程连接的控制台使用的字符集,这适合将输出打印到终端。

since: 2.62

get_current_dir

获取当前目录。

get_current_time

等同于UNIX的`gettimeofday()`函数,但更通用。

已弃用:2.62 

get_environ

获取当前进程的环境变量列表。

自2.28以来

get_filename_charsets

确定用于文件名的首选字符集。从charsets中的第一个字符集是文件名编码,后续字符集用于尝试生成文件名的可显示表示,请参阅g_filename_display_name()。

since: 2.6

get_home_dir

获取当前用户的家目录。

get_host_name

返回机器的名称。

自:2.8

get_language_names

计算适用区域设置名称的列表,可以使用这些名称来构造依赖于区域设置的文件名或搜索路径。返回的列表按从最受欢迎到最不受欢迎的顺序排序,并且始终包含默认区域设置“C”。

since: 2.6

get_language_names_with_category

计算带有区域设置类别名称的适用区域设置名称的列表,可以使用这些名称来构造回退的依赖于区域设置的文件名或搜索路径。返回的列表按从最受欢迎到最不受欢迎的顺序排序,并且始终包含默认区域设置“C”。

since: 2.58

get_locale_variants

返回locale的派生变体列表,可用于例如构造依赖于区域设置的文件名或搜索路径。返回的列表按从最受欢迎到最不受欢迎的顺序排序。此函数处理领土、字符集和额外的区域设置修饰符。有关区域设置及其格式的信息,请参阅setlocale(3)

自2.28以来

get_monotonic_time

查询系统的单调时间。

自2.28以来

get_num_processors

确定系统将为该进程同时安排的大约线程数。这旨在用作g_thread_pool_new()的参数,用于CPU密集型任务以及类似情况。

自:2.36

get_os_info

获取有关操作系统的信息。

自2.64以来

get_prgname

获取程序名称。此名称不应本地化,与g_get_application_name()相反。

get_real_name

获取用户的真实名称。这通常来自用户的passwd文件条目。返回字符串的编码是系统定义的。(在Windows上,它始终是UTF-8。)如果无法确定真实用户名称,则返回字符串“未知”。

get_real_time

查询系统的墙上时钟时间。

自2.28以来

get_system_config_dirs

返回一个已排序的基础目录列表,从中可以访问系统范围的配置信息。

since: 2.6

get_system_data_dirs

返回一个已排序的基础目录列表,从中可以访问系统范围的应用程序数据。

since: 2.6

get_tmp_dir

获取用于临时文件的方向。

get_user_cache_dir

返回一个基础目录,用于存储特定用户的非必要缓存数据。

since: 2.6

get_user_config_dir

返回一个基础目录,用于存储用户特定的应用程序配置信息,例如用户的偏好和设置。

since: 2.6

get_user_data_dir

返回一个基础目录,用于访问特定用户定制的应用程序数据,例如图标。

since: 2.6

get_user_name

获取当前用户的用户名。返回字符串的编码是系统定义的。在UNIX上,可能是首选的文件名编码,或者可能是其他编码,并且不能保证它在机器上是一致的。在Windows上,它始终是UTF-8。

get_user_runtime_dir

返回一个唯一于本地系统当前用户的目录。

自2.28以来

get_user_special_dir

使用其逻辑ID返回特殊目录的完整路径。

since: 2.14

get_user_state_dir

返回一个基础目录,用于存储特定用户的特定状态文件。

since: 2.72

getenv

返回环境变量的值。

hostname_is_ascii_encoded

测试hostname是否包含具有与国际域名ASCII兼容编码的段。如果这返回TRUE,您应在向用户显示之前使用g_hostname_to_unicode()解码主机名。

自2.22以来

hostname_is_ip_address

检查 hostname 是否是 IPv4 或 IPv6 地址的字符串形式。(例如,“192.168.0.1”。)

自2.22以来

hostname_is_non_ascii

检查 hostname 是否包含 Unicode 字符。如果返回 TRUE,在使用非 IDN-感知的上下文之前,需要使用 g_hostname_to_ascii() 对主机名进行编码。

自2.22以来

hostname_to_ascii

hostname 转换为其规范 ASCII 形式;一个不包含大写字母且不以句点结尾的仅 ASCII 字符串。

自2.22以来

hostname_to_unicode

hostname 转换为其规范表示形式;一个在 Unicode 规范化形式 C 中的 UTF-8 字符串,不包含大写字母,不包含禁止字符,不包含 ASCII 编码的段,且不以句点结尾。

自2.22以来

iconv

与标准的 UNIX 例程 iconv() 相同,但可能在缺少本地实现的 UNIX 版本中通过 libiconv 实现。

idle_add

将一个函数添加到默认主循环中,以便在无更高优先级事件挂起时调用。该函数具有默认空闲优先级,GROUP_PRIORITY_DEFAULT_IDLE。如果函数返回 FALSE,它将被自动从事件源列表中删除,并且将不会再次被调用。

idle_add_full

将一个函数添加到默认主循环中,以便在无更高优先级事件挂起时调用。

idle_add_once

将一个函数添加到默认主循环中,以便在无更高优先级事件挂起时调用。该函数具有默认空闲优先级,GROUP_PRIORITY_DEFAULT_IDLE

自2.74以来

idle_remove_by_data

移除具有给定数据的空闲函数。

idle_source_new

创建一个新的空闲源。

int64_equal

比较两个指向 #gint64 的指针,如果它们相等则返回 TRUE。它可以作为参数传递给 g_hash_table_new() 中的 key_equal_func,在将非 NULL 指向 64 位整数的指针用作 GHashTable 中的键时使用。

自2.22以来

int64_hash

将指向 #gint64 的指针转换为哈希值。

自2.22以来

int_equal

比较两个指向 #gint 的指针,如果它们相等则返回 TRUE。它可以作为参数传递给 g_hash_table_new() 中的 key_equal_func,在将非 NULL 指向整数的指针用作 GHashTable 中的键时使用。

int_hash

将指向 #gint 的指针转换为哈希值。它可以作为参数传递给 g_hash_table_new() 中的 hash_func,在将非 NULL 指向整数的指针用作 GHashTable 中的键时使用。

intern_static_string

返回 string 的规范表示形式。可以通过比较指针来比较内部字符串的等价性,而不是使用 strcmp()。g_intern_static_string() 不会复制字符串,因此 string 必须不得释放或修改。

since: 2.10

intern_string

返回 string 的规范表示形式。可以通过比较指针来比较内部字符串的等价性,而不是使用 strcmp()。

since: 2.10

io_add_watch

GIOChannel 添加到默认主循环上下文中,具有默认优先级。

io_add_watch_full

GIOChannel 添加到默认主循环上下文中,具有给定优先级。

io_create_watch

创建一个GSOURCE,当给定的channel满足condition条件时,将其分派出去。例如,如果条件是G_IO_IN,则在可读取数据时,源将被分派。

listenv

获取所有在环境中设置的变量的名称。

自:2.8

locale_from_utf8

将字符串从UTF-8编码转换为在[当前区域设置][setlocale]中由C运行时使用的编码(通常与操作系统使用的编码相同)。在Windows中这意味着系统代码页。

locale_to_utf8

将使用C运行时字符串编码(通常与操作系统使用的编码相同)的当前[区域设置][setlocale]中的字符串转换为UTF-8字符串。

log

记录错误或调试信息。

log_default_handler

由GLib设置默认日志处理程序;g_log_set_default_handler()允许安装一个替代默认日志处理程序。

log_get_debug-enabled

返回GLib日志系统的调试输出是否启用。

since: 2.72

log_remove_handler

删除日志处理程序。

log_set_always_fatal

设置在任何日志域中始终致命的消息级别。

log_set_debug_enabled

启用或禁用GLib日志系统中所有域的调试输出。

since: 2.72

log_set_default_handler

安装一个默认日志处理程序,如果未为特定日志域和日志级别组合设置日志处理程序,则将其使用。

since: 2.6

log_set_fatal_mask

设置给定域中致命的日志级别。

log_set_handler

设置域和一系列日志级别的日志处理程序。

log_set_handler_full

如同g_log_set_handler(),但它需要一个对user_data的销毁通知。

since: 2.46

log_set_writer_func

设置一个写入函数,该函数将被调用来格式化并输出每个日志信息。

since: 2.50

log_structured

使用结构化数据记录消息。

since: 2.50

log_structured_array

使用结构化数据记录消息。

since: 2.50

log_structured_standard

log_variant

使用结构化数据记录消息,接受在GVariant中的数据。

since: 2.50

log_writer_default

格式化结构化日志消息并将其输出到平台默认的日志位置。

since: 2.50

log_writer_default_set_debug_domains

重置可能由G_MESSAGES_DEBUGDEBUG_INVOCATION环境变量最初设置的日志域列表。

自:2.80

log_writer_default_set_use_stderr

配置内置的日志函数是否将所有日志消息输出到stderr

since: 2.68

log_writer_default_would_drop

检查是否g_log_writer_default()g_log_default_handler()将忽略具有给定域和级别的消息。

since: 2.68

log_writer_format_fields

将结构化日志消息格式化为字符串,适用于输出到终端(或其他位置)。

since: 2.50

log_writer_is_journald

检查给定的output_fd文件描述符是否连接到systemd日志,或其他(如日志文件、stdoutstderr)。

since: 2.50

log_writer_journald

格式化结构化日志消息并将其作为键值对集合发送到systemd日志。

since: 2.50

log_writer_standard_streams

格式化结构化日志消息并将其打印到stdoutstderr,具体取决于其日志级别。

since: 2.50

log_writer_supports_color

检查给定的output_fd文件描述符是否支持ANSI颜色转义序列

since: 2.50

log_writer_syslog

格式化结构化日志消息并发送至syslog守护进程。仅在格式化字符串中包含此函数理解的字段,且这些字段被打印。

自:2.80

logv

记录错误或调试信息。

lstat

是POSIX lstat()函数的一个包装器。与stat()函数类似,但在符号链接的情况下,它返回关于符号链接自身的信息,而不是它引用的文件。如果系统不支持符号链接,则g_lstat()与g_stat()相同。

since: 2.6

main_current_source

返回此线程当前的触发源。

自: 2.12

main_depth

返回当前线程中任何GMainContext上对g_main_context_dispatch()的调用栈的深度。在顶层调用时,它返回0。从g_main_context_iteration()(或g_main_loop_run()等)的回调中调用时,它返回1。从对g_main_context_iteration()的递归调用中的回调调用时,它返回2。依此类推。

malloc

分配n_bytes字节的内存。如果n_bytes为0,则返回NULL

malloc0

分配n_bytes字节的内存,初始化为0。如果n_bytes为0,则返回NULL

malloc0_n

此函数类似于g_malloc0(),分配(n_blocks * n_block_bytes)字节,但在乘法过程中注意检测可能的溢出。

自:2.24

malloc_n

此函数类似于g_malloc(),分配(n_blocks * n_block_bytes)字节,但在乘法过程中注意检测可能的溢出。

自:2.24

markup_collect_attributes

从传递给GMarkupParser start_element函数的数据中收集元素的属性,处理常见的错误条件并支持布尔值。

自: 2.16

markup_error_quark

markup_escape_text

转义文本,使得标记解析器可以逐字解析它。小于号、大于号、与号等替换为相应的实体。此函数通常用于将文件写入以便使用标记解析器解析。

markup_printf_escaped

根据format格式化参数,以与g_markup_escape_text()相同的样式转义所有字符串和字符参数。这很有用,当你想将字面字符串插入到XML样式标记输出中时,无需担心字符串本身可能包含标记。

since: 2.4

markup_vprintf_escaped

根据format格式化args中的数据,以与g_markup_escape_text()相同的样式转义所有字符串和字符参数。参见g_markup_printf_escaped()。

since: 2.4

mem_is_system_malloc

检查g_malloc()使用的分配器是否为系统的malloc实现。如果它返回TRUE,则使用malloc()分配的内存可以使用与使用g_malloc()分配的内存相互替换。此函数对于避免返回非GLib-based API的额外内存复制的API很有用。

已弃用:2.46

mem_profile

GLib曾经支持一些内存分析工具,但现在不再如此。现在有许多其他有用的内存分析工具可以使用。

已弃用:2.46

mem_set_vtable

此函数曾经允许你覆盖内存分配函数。然而,由于它的使用与GLib和GIO中的全局构造器使用不兼容,因为那些在到达main之前使用GLib分配器。因此,此函数现在已弃用,只是一个空模板。

已弃用:2.46

memdup

分配 byte_size 字节的内存,并从 mem 复制 byte_size 字节到其中。如果 memNULL,则返回 NULL

已弃用:2.68 

memdup2

分配 byte_size 字节的内存,并从 mem 复制 byte_size 字节到其中。如果 memNULL,则返回 NULL

since: 2.68

mkdir

POSIX mkdir() 函数的包装器。尝试使用给定的名称和权限创建目录。在 Windows 上忽略模式参数。

since: 2.6

mkdir_with_parents

如果目录不存在则创建。同时按需创建必要的中间父目录。

自:2.8

mkdtemp

创建一个临时目录。在大多数类似 UNIX 的系统上查看 mkdtemp() 的文档。

since: 2.30

mkdtemp_full

创建一个临时目录。在大多数类似 UNIX 的系统上查看 mkdtemp() 的文档。

since: 2.30

mkstemp

打开一个临时文件。在大多数类似 UNIX 的系统上查看 mkstemp() 的文档。

mkstemp_full

打开一个临时文件。在大多数类似 UNIX 的系统上查看 mkstemp() 的文档。

自2.22以来

nullify_pointer

将指定位置的指针设置为 NULL

number_parser_error_quark

on_error_query

提示用户以 [E]xit, [H]alt, 显示 [S]tack trace 或 [P]roceed。此函数仅用于调试。以下示例展示了如何与 g_log() 函数一起使用。

on_error_stack_trace

调用 gdb,该程序附加到当前进程并显示调用栈跟踪。当 g_on_error_query() 选择“[S]tack trace”选项时调用。如果您已经调用了 gtk_init()gdk_init(),则可以使用 g_get_prgname() 获取当前进程的程序名称。

open

POSIX open() 函数的包装器。将路径名转换为文件描述符。

since: 2.6

option_error_quark

parse_debug_string

将包含调试选项的字符串解析为包含位标志的 %guint。此用法在 GDKGTK 中用于解析命令行或环境变量传递的调试选项。

path_get_basename

获取文件名的最后一个组件。

path_get_dirname

获取文件名的目录组件。例如,文件名 /usr/bin/test 的目录组件是 /usr/bin。目录成分 / 为其自身。

path_is_absolute

如果给定的 file_name 是绝对文件名,则返回 TRUE。请注意,在 Windows 上这是一个有些模糊的概念。

path_skip_root

返回指向 file_name 中的根组件之后的位置的指针,即 UNIX 中的“/”之后或在 Windows 中的“C:”。如果 file_name 不是绝对路径,则返回 NULL

pattern_match

将字符串与编译后的模式进行匹配。

已弃用:2.70 

pattern_match_simple

将字符串与字符串形式的模式进行匹配。

pattern_match_string

将字符串与编译后的模式进行匹配。

已弃用:2.70 

pointer_bit_lock

此操作等效于 g_bit_lock,但针对指针(或其他具有指针大小的值)进行操作。

since: 2.30

pointer_bit_lock_and_get

此操作等效于 g_bit_lock,但针对指针(或其他具有指针大小的值)进行操作。

自:2.80

pointer_bit_lock_mask_ptr

此操作类似于 g_pointer_bit_lock() 和 g_pointer_bit_unlock()。

自:2.80

pointer_bit_trylock

此操作等效于 g_bit_trylock(),但针对指针(或其他具有指针大小的值)进行操作。

since: 2.30

pointer_bit_unlock

此操作等效于 g_bit_unlock,但针对指针(或其他具有指针大小的值)进行操作。

since: 2.30

pointer_bit_unlock_and_set

此操作等效于 g_pointer_bit_unlock() 并原子地设置指针值。

自:2.80

poll

仿 polling fds,类似于 poll() 系统调用,但具有可移植性。(在无 poll() 系统调用的系统中,使用 select() 仿真。)此功能由 GMainContext 内部使用,但如果你需要阻塞直到文件描述符就绪,但又不想运行完整的主循环,可以直接调用。

since: 2.20

prefix_error

根据 format 格式化字符串,并将其添加到现有的错误消息之前。如果 errNULL(即:没有错误变量),则不执行任何操作。

自: 2.16

prefix_error_literal

prefix 添加到现有的错误消息之前。如果 err*errNULL(例如:没有错误变量),则不执行任何操作。

since: 2.70

print

通过打印处理器输出格式化的消息。

printerr

通过错误消息处理器输出格式化的消息。

printf

这是一个标准 printf() 函数的实现,它支持根据单线程UNIX规范指定的位置参数。

自:2.2

printf_string_upper_bound

计算存储 sprintf() 函数输出所需的最大空间。

propagate_error

如果 destNULL,则释放 src;否则,将 src 移入 *dest。必须将 dest 指针指向的错误变量设置为 NULL

propagate_prefixed_error

如果 destNULL,则释放 src;否则,将 src 移入 *dest。必须将 *dest 设置为 NULL。移动后,添加一个前缀,类似于 g_prefix_error()。

自: 2.16

qsort_with_data

这与标准 C 的 qsort() 函数类似,但比较例程接受一个用户数据参数(例如 qsort_r())。

已弃用:2.82 

quark_from_static_string

获取表示给定(静态)字符串的 GQuark。如果字符串当前没有关联的 GQuark,则创建一个新的 GQuark,并将其链接到给定的字符串。

quark_from_string

获取表示给定字符串的 GQuark。如果字符串当前没有关联的 GQuark,则创建一个新的 GQuark,并使用该字符串的一个副本。

quark_to_string

获取与给定 GQuark 关联的字符串。

quark_try_string

获取与给定字符串关联的 GQuark,如果字符串是 NULL 或没有关联的 GQuark,则返回 0。

random_double

返回一个在范围 [0..1) 内均匀分布的随机 gdouble

random_double_range

返回一个在范围 [begin..end] 内均匀分布的随机 gdouble

random_int

返回一个在范围 [0..2^32-1] 内均匀分布的随机 guint32

random_int_range

返回一个在范围 [begin..end-1] 内均匀分布的随机 gint32

random_set_seed

设置全局随机数生成器的种子 seed,该种子用于 g_random_* 函数。

rc_box_acquire

获得指向 mem_block 所指数据的引用。

since: 2.58

rc_box_alloc

分配 block_size 字节内存,并为其添加引用计数语义。

since: 2.58

rc_box_alloc0

分配 block_size 字节内存,并为其添加引用计数语义。

since: 2.58

rc_box_dup

分配一个新的具有引用计数语义的数据块,并将 mem_block 中的 block_size 字节复制到其中。

since: 2.58

rc_box_get_size

检索由 mem_block 指向的引用计数值据的大小。

since: 2.58

rc_box_release

释放指向 mem_block 所指数据的引用。

since: 2.58

rc_box_release_full

释放指向 mem_block 所指数据的引用。

since: 2.58

realloc

重新分配由 mem 指向的内存空间,使其现在可以容纳 n_bytes 字节的内存。它返回新的内存地址,可能发生了移动。《code》可能为 NULL,此时视为零长度。如果 n_bytes 为 0,则返回 NULL,并且如果 mem 不是 NULL,则会释放 mem

realloc_n

此函数类似于 g_realloc(),分配了 (n_blocks * n_block_bytes) 字节的内存,但是在乘法过程中注意检测可能的溢出。

自:2.24

ref_count_compare

比较 rc 的当前值与 val

since: 2.58

ref_count_dec

降低引用计数。

since: 2.58

ref_count_inc

增加引用计数。

since: 2.58

ref_count_init

将引用计数变量初始化为 1。

since: 2.58

ref_string_acquire

获取字符串上的引用。

since: 2.58

ref_string_equal

逐字节比较两个引用字符串的相等性。

不稳定 自 2.84

ref_string_length

检索 str 的长度。

since: 2.58

ref_string_new

创建一个新的引用计数字符串,并将其内容 str 复制到其中。

since: 2.58

ref_string_new_intern

创建一个新的引用计数字符串,并将其内容 str 复制到其中。

since: 2.58

ref_string_new_len

创建一个新的引用计数字符串,并将其内容 str 复制到其中,最多 len 字节。

since: 2.58

ref_string_release

释放对字符串的引用;如果它是最后一个引用,则释放字符串所分配的资源。

since: 2.58

reload_user_special_dirs_cache

重置 g_get_user_special_dir() 所使用的缓存,以便使用最新的磁盘版本。仅在您自己刚刚更改了磁盘上的数据时调用此函数。

自2.22以来

remove

POSIX remove() 函数的包装器。`remove() 函数从文件系统中删除名称。

since: 2.6

rename

POSIX rename() 函数的包装器。`rename() 函数重命名文件,如果需要,将其在目录之间移动。

since: 2.6

return_if_fail_warning

内部函数,用于打印来自公共 `g_return_if_fail()` 和 `g_return_val_if_fail()` 宏的消息。

rmdir

POSIX rmdir() 函数的包装器。`rmdir() 函数从文件系统中删除目录。

since: 2.6

set_application_name

为应用程序设置人类可读的名称。如果可能的话,此名称应该本地化,并用于显示给用户。与 g_set_prgname() 相比,g_set_prgname() 设置的是非本地化名称。`g_set_prgname()` 将由 gtk_init() 自动调用,但是 `g_set_application_name()` 不会。

自:2.2

set_error

如果 err 是 `NULL`,则什么都不做;如果 err 非空,则 `*err` 必须为 `NULL`。创建一个新的 `GError` 并将其分配给 `*err`。

set_error_literal

如果 err 是 `NULL`,则什么都不做;如果 err 非空,则 `*err` 必须为 `NULL`。创建一个新的 `GError` 并将其分配给 `*err`。与 g_set_error() 不同,`message` 不是一个 printf() 样式的格式字符串。当 `message` 包含不包含控制内容的文本时,使用此函数,该文本可能包含 printf() 转义序列。

since: 2.18

set_prgname

设置程序的名称。与 g_set_application_name() 不同,该名称不应进行本地化。

set_print_handler

将打印处理程序设置为 func,或如果为 NULL 则重置为默认的 GLib 处理程序。

set_printerr_handler

将打印错误消息的处理程序设置为 func,或如果为 NULL 则重置为默认的 GLib 处理程序。

set_str

更新指向字符串的指针为 new_str 的一个副本,并返回字符串是否已更改。

since: 2.76

setenv

设置环境变量。在 UNIX 上,变量的名称和值可以是任意字节字符串,但变量名称不能包含 '='。在 Windows 上,它们应该是 UTF-8。

since: 2.4

shell_error_quark

shell_parse_argv

将命令行解析为参数向量,类似于 shell 会执行的方式,但不执行 shell 会执行的大多数展开(不支持变量展开、词法、运算符、文件名展开等)。

shell_quote

引用一个字符串,以便 shell (/bin/sh) 将引用的字符串解释为 未引用字符串

shell_unquote

按照 shell (/bin/sh) 的方式取消引用一个字符串。

slice_alloc

从 libc 分配器分配一块内存。

since: 2.10

slice_alloc0

通过 g_slice_alloc() 分配内存块并初始化返回的内存为 0。

since: 2.10

slice_copy

从切片分配器分配内存块并将 block_size 字节从 mem_block 复制到其中。

since: 2.14

slice_free1

释放内存块。

since: 2.10

slice_free_chain_with_offset

释放类型为 type 结构的内存块链表。

since: 2.10

slice_get_config

slice_get_config_state

slice_set_config

snprintf

一种更安全的标准 sprintf() 函数的形式。输出保证不超过 n 个字符(包括空终止符),因此可以轻松确保不会发生缓冲区溢出。

sort_array

这与标准 C 的 qsort() 函数类似,但比较例程接受一个用户数据参数(例如 qsort_r())。

自2.82以来

spaced_primes_closest

从内置素数数组中获取比 num 更小的最小素数。GLib 中使用此功能计算 GHashTable 的最佳大小。

spawn_async

异步执行子程序。

spawn_async_with_fds

异步执行子程序。

since: 2.58

spawn_async_with_pipes

g_spawn_async_with_pipes_and_fds() 相同,但 n_fds 设置为零,因此不使用 FD 分配。

spawn_async_with_pipes_and_fds

异步执行子程序(您的程序将不会阻塞等待子程序退出)。

since: 2.68

spawn_check_exit_status

g_spawn_check_wait_status() 的旧名称,已废弃,因为其名称具有误导性。

废弃:2.70 自 2.34

spawn_check_wait_status

如果 wait_status 表示子程序异常退出(例如,退出代码非零或通过致命信号),则设置 error

since: 2.70

spawn_close_pid

在某些平台上,特别是 Windows 上,GPid 类型表示必须关闭以防止资源泄漏的资源。提供 g_spawn_close_pid() 用于此目的。即使在 UNIX 上它什么都不做,也应该在所有平台上使用。

spawn_command_line_async

g_spawn_async() 的简单版本,使用 g_shell_parse_argv() 解析命令行并将其传递给 g_spawn_async()

spawn_command_line_sync

g_spawn_sync() 的简单版本,删除了不常用的参数,接受命令行而不是参数向量。

spawn_error_quark

spawn_exit_error_quark

spawn_sync

同步执行子程序(在返回之前等待子程序退出)。

sprintf

这是一个遵循单一Unix规范的支持位置参数的sprintf()函数的实现。

自:2.2

stat

是POSIX的stat()函数的封装。该stat()函数返回关于文件的信息。在Windows上,C库中的stat()函数仅检查FAT-样式READONLY属性,而完全不查看ACL。因此,在Windows上,st_mode字段中的保护位几乎无实际作用。

since: 2.6

steal_fd

fd_ptr设置为-1,返回之前该位置的值。

since: 2.70

steal_handle_id

handle_pointer设置为0,返回之前该位置的值。

不稳定 自 2.84

steal_pointer

pp设置为NULL,返回之前该位置的值。

since: 2.44

stpcpy

将空终止字符串复制到目标缓冲区中,包括尾部空字节,并返回指向尾部空字节的指针。返回值对于在不重复搜索结束位置的情况下连接多个字符串很有用。

str_equal

逐字节比较两个字符串是否相等,并在它们相等时返回TRUE。它可以作为key_equal_func参数传递给g_hash_table_new(),当在GHashTable中使用非NULL字符串作为键时。

str_has_prefix

检查字符串str是否以prefix开头。

自:2.2

str_has_suffix

检查字符串是否以suffix结尾。

自:2.2

str_hash

将字符串转换为哈希值。

str_is_ascii

确定字符串是否纯ASCII。如果一个字符串不包含设置高位字节,它就是纯ASCII。

自:2.40

str_match_string

检查对search_term的搜索是否应匹配potential_hit

自:2.40

str_to_ascii

str转写成纯ASCII。

自:2.40

str_tokenize_and_fold

将字符串string进行标记分割,并对每个标记执行折叠操作。

自:2.40

strcanon

对于string中的每个字符,如果字符不在valid_chars中,则用substitutor替换该字符。

strcasecmp

不区分大小写的字符串比较,对应于支持的平台上的标准strcasecmp()函数。

已过时:2.2

strchomp

从一个字符串中移除尾随空白。

strchug

通过将剩余字符向前移动来从一个字符串中移除前导空白。

strcmp0

strcmp()一样比较str1str2

自: 2.16

strcompress

将字符串中的C字符串风格转义序列替换为其对应的单字节等价物。

strconcat

将所有给定的字符串连接成一个长的字符串。

strdelimit

将字符串中的任何分隔字符转换为new_delimiter

strdown

将字符串转换为小写。

已过时:2.2

strdup

复制一个字符串。如果strNULL,则返回NULL

strdup_printf

类似于标准C函数sprintf(),但更安全,因为它计算所需的最大空间,并分配内存以保存结果。

strdup_vprintf

类似于标准C函数vsprintf(),但更安全,因为它计算所需的最大空间,并为结果分配内存。

strdupv

复制一个字符串数组。该复制是深拷贝;每个字符串也被复制。

strerror

返回与给定错误代码相对应的字符串,例如“没有这样的进程”。

strescape

将字符串source中的以下特殊字符替换为其相应的C转义序列:

strfreev

释放一个字符串数组以及它包含的每个字符串。

strip_context

是支持gettext()的辅助函数(参见Q_())。

since: 2.4

strjoin

将几个字符串连接成一个长字符串,每个字符串之间可以插入可选的分隔符

strjoinv

将字符串数组连接成一个长字符串,每个字符串之间可以插入可选的分隔符

strlcat

可移植性包装器,在有该函数的系统上调用strlcat(),在其他系统上模拟它。将空终止的src字符串追加到dest,保证dest的空终止。总大小不会超过dest_size

strlcpy

可移植性包装器,在有该函数的系统上调用strlcpy(),在其他系统上模拟strlcpy()。将src复制到dest,保证dest的空终止;src必须是空终止的;dest_size是缓冲区大小,而非要复制的字节数。

strncasecmp

不区分大小写的字符串比较,对应支持它的平台上标准的strncasecmp()函数。它与g_strcasecmp()类似,但它只比较字符串的前n个字符。

已过时:2.2

strndup

复制字符串的前n个字节,返回一个新的缓冲区,该缓冲区的长度为n + 1字节,且总是在空终止。如果str的长度小于n字节,则缓冲区用空字符填充。如果strNULL,则返回NULL

strnfill

创建一个长度为length字节的新字符串,填充为fill_char

strreverse

反转字符串中所有的字节。例如,g_strreverse ("abcdef")将得到“fedcba”。

strrstr

在字符串haystack中搜索字符串needle的最后一次出现。

strrstr_len

在字符串haystack中搜索字符串needle的最后一次出现,但将搜索长度限制为haystack_len

strsignal

返回描述给定信号的字符串,例如“段错误”。如果信号未知,则返回“未知信号 ()”。

strsplit

使用给定的分隔符将字符串分割成最多max_tokens个片段。如果达到max_tokens,则将string的剩余部分追加到最后的标记。

strsplit_set

将字符串根据不在delimiters中的任何字符中分割成一定数量的标记。标记是不包含delimiters中任何字符的最长(可能为空)字符串。如果达到max_tokens,剩余部分追加到最后一个标记。

since: 2.4

strstr_len

在字符串haystack中搜索字符串needle的第一次出现,搜索长度限制为haystack_len或空终止字节(先遇到哪个就停止)。

strtod

将字符串转换为浮点值。

strup

将字符串转换为大写。

已过时:2.2

strv_contains

检查一个字符串数组是否包含字符串str,根据g_str_equal()进行检查。strv不得为NULL

since: 2.44

strv_equal

检查两个字符串数组是否包含完全相同的元素,且顺序完全相同。

since: 2.60

strv_get_type

strv_length

返回字符串数组的长度。str_array不得为NULL

since: 2.6

test_add_data_func

创建一个新的测试用例。

自: 2.16

test_add_data_func_full

创建一个新的测试用例。

since: 2.34

test_add_func

创建一个新的测试用例。

自: 2.16

test_add_vtable

test_bug

向测试报告中添加消息,将bug URI与测试用例关联。

自: 2.16

test_bug_base

指定bug报告的基础URI

自: 2.16

test_build_filename

创建所需测试的数据文件的路径名。

since: 2.38

test_create_case

创建一个新的GTestCase

自: 2.16

test_create_suite

创建一个新的测试套件,带有名称suite_name

自: 2.16

test_disable_crash_reporting

尝试禁用系统崩溃报告基础设施。

since: 2.78

test_expect_message

表明期望记录一个具有给定 log_domainlog_level,且文本匹配 pattern 的消息。

since: 2.34

test_fail

表明测试失败了。

since: 2.30

test_fail_printf

表明测试失败并记录了一条消息。

since: 2.70

test_failed

返回测试是否已经失败。

since: 2.38

test_get_dir

获取由 file_type 指定的测试文件目录的路径名称。

since: 2.38

test_get_filename

获取为测试所需的数据文件的路径名称。

since: 2.38

test_get_path

获取当前运行测试的测试路径。

since: 2.68

test_get_root

获取测试路径的顶级测试套件(API)。

自: 2.16

test_incomplete

表明由于某些功能不完整,测试失败了。

since: 2.38

test_incomplete_printf

表明由于某些功能不完整,测试失败了。

since: 2.70

test_init

初始化 GLib 测试框架。

自: 2.16

test_log_set_fatal_handler

安装一个非错误致命日志处理程序,可用于决定哪些计数为致命的日志消息会中止程序。

自2.22以来

test_log_type_name

test_maximized_result

报告性能或测量测试的结果。

自: 2.16

test_message

将一条消息添加到测试报告。

自: 2.16

test_minimized_result

报告性能或测量测试的结果。

自: 2.16

test_queue_destroy

将回调函数 destroy_func 排队,以便在下一个测试用例的-teardown 阶段执行。

自: 2.16

test_queue_free

将指针排队,以便在下一个 teardown 阶段通过 g_free() 释放。

自: 2.16

test_rand_double

获取一个可复制的随机浮点数。

自: 2.16

test_rand_double_range

获取一个指定的范围内的可复制的随机浮点数。

自: 2.16

test_rand_int

获取一个可复制的随机整数。

自: 2.16

test_rand_int_range

获取一个指定范围内的可复制的随机整数。

自: 2.16

test_run

在顶级套件下运行所有测试。

自: 2.16

test_run_suite

执行 suite 内的测试以及所有嵌套测试套件。

自: 2.16

test_set_nonfatal_assertions

改变各种断言宏的行为。

since: 2.38

test_skip

表明测试被跳过了。

since: 2.38

test_skip_printf

表明测试被跳过了。

since: 2.70

test_subprocess

如果测试程序正运行于 g_test_trap_subprocess() 之下,则返回 true。

since: 2.38

test_summary

为测试设置摘要。

since: 2.62

test_timer_elapsed

获取自上次调用 g_test_timer_start() 开始计时器运行的时间(秒)。

自: 2.16

test_timer_last

报告 g_test_timer_elapsed() 的最后结果。

自: 2.16

test_timer_start

开始计时测试。

自: 2.16

test_trap_assertions

test_trap_fork

对当前测试程序进行分叉以执行可能不返回或可能中止的测试用例。

已弃用:未知 自:2.16

test_trap_has_passed

检查上次调用 g_test_trap_subprocess() 的结果。

自: 2.16

test_trap_reached_timeout

检查上次调用 g_test_trap_subprocess() 的结果。

自: 2.16

test_trap_subprocess

重新启动测试程序以在子进程中仅运行 test_path

since: 2.38

test_trap_subprocess_with_envp

以给定的环境重新启动测试程序以在子进程中仅运行 test_path

自:2.80

timeout_add

设置一个函数,在默认优先级 G_PRIORITY_DEFAULT 的情况下,定时不定期调用。

timeout_add_full

设置一个函数,在给定优先级下定期调用。该函数将在返回 FALSE 之前被反复调用,此时超时将自动销毁,并且函数将不再被调用。当超时销毁时,会调用 notify 函数。函数的第一次调用将是在第一个 interval 结束之后。

timeout_add_once

interval 毫秒后设置一个函数进行调用,使用默认优先级 G_PRIORITY_DEFAULT

自2.74以来

timeout_add_seconds

以默认优先级 G_PRIORITY_DEFAULT 定期调用一个函数。

since: 2.14

timeout_add_seconds_full

priority 定期调用一个函数。

since: 2.14

timeout_add_seconds_once

此函数的行为与 g_timeout_add_once() 相似,但有一个以秒为单位的范围。

since: 2.78

timeout_source_new

创建一个新的超时资源。

timeout_source_new_seconds

创建一个新的超时资源。

since: 2.14

try_malloc

尝试分配 n_bytes,在失败时返回 NULL。与在失败时终止程序的 g_malloc() 相对比。

try_malloc0

尝试分配 n_bytes,初始化为 0,在失败时返回 NULL。与在失败时终止程序的 g_malloc0() 相对比。

自:2.8

try_malloc0_n

此函数类似于 g_try_malloc0(),分配 (n_blocks * n_block_bytes) 字节,但在乘法过程中注意检测潜在的溢出。

自:2.24

try_malloc_n

此函数类似于 g_try_malloc(),分配 (n_blocks * n_block_bytes) 字节,但在乘法过程中注意检测潜在的溢出。

自:2.24

try_realloc

尝试将 mem 重新分配到新的大小 n_bytes,在失败时返回 NULL。与在失败时终止程序的 g_realloc() 相对比。

try_realloc_n

此函数类似于 g_try_realloc(),分配 (n_blocks * n_block_bytes) 字节,但在乘法过程中注意检测潜在的溢出。

自:2.24

ucs4_to_utf16

将字符串从 UCS-4 转换为 UTF-16。

ucs4_to_utf8

将一个表示为 32 位固定宽度的字符串(作为 UCS-4)转换为 UTF-8。

unichar_break_type

确定字符 c 的断字类型。 c 应该是一个 Unicode 字符(从 UTF-8 编码的文本中派生一个字符,请使用 g_utf8_get_char())。断字类型用于查找单词和行断点(“文本边界”),Pango 实现了 Unicode 边界解析算法,通常您会使用类似 pango_break() 这样的函数来代替自己关心断字类型。

unichar_combining_class

确定一个 Unicode 字符的规范组合类。

since: 2.14

unichar_compose

执行 Unicode 规范组合算法的单步组合步骤。

since: 2.30

unichar_decompose

执行 Unicode 规范分解算法的单步分解步骤。

since: 2.30

unichar_digit_value

确定一个字符作为十进制数字的数值。

unichar_fully_decompose

计算一个 Unicode 字符的规范或兼容分解。对于兼容分解,将 compat 的值传递为 TRUE;对于规范分解,将 compat 的值传递为 FALSE

since: 2.30

unichar_get_mirror_char

在Unicode中,一些字符是“镜像的”。这意味着在从右到左排版的文本中,它们的图像是水平镜像的。例如,“(”会变成它的镜像,“(”在从右到左的文本中。

since: 2.4

unichar_get_script

查找特定字符的GUnicodeScript(如Unicode标准附件#24所定义)。对ch是否为有效的Unicode字符不进行检查;如果您传入无效的字符,则结果为未定义。

since: 2.14

unichar_isalnum

确定一个字符是否是字母数字。给定一些< span class="caps">UTF-8文本,使用g_utf8_get_char()获取字符值。

unichar_isalpha

确定一个字符是否是字母(即字母)。给定一些< span class="caps">UTF-8文本,使用g_utf8_get_char()获取字符值。

unichar_iscntrl

确定一个字符是否是控制字符。给定一些< span class="caps">UTF-8文本,使用g_utf8_get_char()获取字符值。

unichar_isdefined

确定给定的字符是否在Unicode标准中被分配。

unichar_isdigit

确定一个字符是否是数字(即数字)。这包括ASCII 0-9以及其他语言/脚本中的数字。给定一些< span class="caps">UTF-8文本,使用g_utf8_get_char()获取字符值。

unichar_isgraph

确定一个字符是否是可打印的并且不是空格(对控制字符、格式字符和空格返回< code>FALSE)。code>g_unichar_isprint类似,但对于空格返回< code>TRUE。给定一些< span class="caps">UTF-8文本,使用g_utf8_get_char()获取字符值。

unichar_islower

确定一个字符是否是小写字母。给定一些< span class="caps">UTF-8文本,使用g_utf8_get_char()获取字符值。

unichar_ismark

确定一个字符是否是标记(非间距标记、结合标记或包围标记)。给定一些< span class="caps">UTF-8文本,使用g_utf8_get_char()获取字符值。

since: 2.14

unichar_isprint

确定一个字符是否是可打印的。与g_unichar_isprint()不同,对于空格返回< code>TRUE。给定一些< span class="caps">UTF-8文本,使用g_utf8_get_char()获取字符值。

unichar_ispunct

确定一个字符是否是标点符号或符号。给定一些< span class="caps">UTF-8文本,使用g_utf8_get_char()获取字符值。

unichar_isspace

确定一个字符是否是空格、制表符或行分隔符(换行符、回车符等)。给定一些< span class="caps">UTF-8文本,使用g_utf8_get_char()获取字符值。

unichar_istitle

确定一个字符是否是大写字母。Unicode中一些复合字符,如< span class="caps">DZ双字符有两个而不是三个大小写变体。大写字母形式用于单词开头的位置,其中只有第一个字母是大写的。< span class="caps">DZ双字符的大写字母形式是U+01F2 < span class="caps">LATIN < span class="caps">CAPITAL < span class="caps">LETTTER D < span class="caps">WITH < span class="caps">SMALL < span class="caps">LETTER Z。

unichar_isupper

确定一个字符是否是大写。

unichar_iswide

确定一个字符是否通常在双宽单元格中渲染。

unichar_iswide_cjk

确定一个字符是否在旧东亚区域设置中通常在双宽单元格中渲染。如果字符根据g_unichar_iswide()是宽的,那么它也将通过此函数报告为宽,但反过来不一定正确。有关详细信息,请参阅Unicode标准附件#11

自: 2.12

unichar_isxdigit

确定一个字符是否是十六进制数字。

unichar_iszerowidth

确定给定字符在渲染时通常是否占用零宽度。返回值对所有非间距和包围标记(例如,组合重音符号)、格式字符、零宽度空格返回< code>TRUE,但不是U+< span class="caps">00AD < span class="caps">SOFT < span class="caps">HYPHEN。

since: 2.14

unichar_to_utf8

将一个字符转换为UTF-8。

unichar_tolower

将字符转换为小写。

unichar_totitle

将字符转换为大写首字母。

unichar_toupper

将字符转换为大写。

unichar_type

根据类型对Unicode字符进行分类。

unichar_validate

检查ch是否是有效的Unicode字符。

unichar_xdigit_value

确定字符作为十六进制数字的数值。

unicode_canonical_decomposition

计算Unicode字符的规范分解。

已弃用: 2.30

unicode_canonical_ordering

就地计算字符串的规范排序。这根据结合类重新排列字符串中的分解字符。有关更多信息,请参阅Unicode手册。

unlink

POSIX unlink() 函数的包装器。如果该函数从文件系统中删除一个名称,则删除一个名称。如果这是文件的最后一个链接,并且没有进程打开它,那么文件所占据的磁盘空间将被释放。

since: 2.6

unsetenv

从环境中删除环境变量。

since: 2.4

usleep

暂停当前线程指定的微秒数。

utf16_to_ucs4

将字符串从UTF-16转换为UCS-4。

utf16_to_utf8

将字符串从UTF-16转换为UTF-8。

utf8_casefold

将字符串转换为与大小写无关的形式。结果将对应于任何特定的大小写,但可以进行相等或排序比较,与对其他字符串调用 g_utf8_casefold() 的结果进行比较。

utf8_collate

使用[当前区域设置][setlocale]的语言规则对两个字符串进行排序比较。当对大量字符串进行排序时,将使用 g_utf8_collate_key() 获取比较键,并用 strcmp() 进行排序,而不是对原始字符串进行排序,这将大大提高效率。

utf8_collate_key

将字符串转换为可与其他相同函数产生的其他排序键进行比较的排序键。

utf8_collate_key_for_filename

将字符串转换为可与其他相同函数产生的其他排序键进行比较的排序键。

自:2.8

utf8_find_next_char

在字符串中找到代码点p之后的下一个UTF-8字符的起始位置。

utf8_find_prev_char

给定一个位置p,位置p是一个编码为UTF-8的字符串str,在该str中找到p之前的上一个UTF-8字符的起始位置。如果str中在p之前没有UTF-8字符,则返回 NULL

utf8_get_char

将编码为UTF-8的字节序列转换为Unicode字符。

utf8_get_char_validated

将编码为UTF-8的字节序列转换为Unicode字符。

utf8_make_valid

如果提供的字符串是有效的UTF-8,则返回其副本。如果不有效,则返回一个副本,其中无法解释为有效Unicode的字节被替换为Unicode替换字符(U+FFFD)。

since: 2.52

utf8_normalize

将字符串转换为规范形式,标准化诸如是否有带重音符号的字符表示为基字符和组合重音符号或作为单个预合成字符等问题。该字符串必须是有效的UTF-8,否则返回 NULL。通常应在比较两个Unicode字符串之前调用 g_utf8_normalize()

utf8_offset_to_pointer

从整数字符偏移量转换为指向字符串中位置的指针。

utf8_pointer_to_offset

从字符串中的位置指针转换为整数字符偏移量。

utf8_prev_char

在字符串中删除前一个 UTF-8 字符的位置。

utf8_strchr

在 UTF-8 编码的字符串中查找给定 Unicode 字符的最左出现,同时将搜索限制为 len 字节。

utf8_strdown

将字符串中的所有大小写Unicode字符转换为小写。这种方法取决于当前的区域设置,可能导致字符串中字符数量的变化。

utf8_strlen

计算字符串以字符为单位的长度,不包括结尾的空字符。如果第 max 个字节位于字符的中间,则不计算最后(部分)字符。

utf8_strncpy

类似于标准C函数 strncpy(),但它拷贝指定数量的字符,而不是指定数量的字节。

utf8_strrchr

在 UTF-8 编码的字符串中查找给定 Unicode 字符的最右出现,同时将搜索限制为 len 字节。

utf8_strreverse

反转一个 UTF-8 字符串。

自:2.2

utf8_strup

将字符串中的所有大小写Unicode字符转换为大写。这种方法取决于当前的区域设置,可能使字符串中的字符数量增加。例如,德语的 ess-zet 会变为 SS

utf8_substring

从 UTF-8 编码的字符串中拷贝子字符串。子字符串将包含 end_pos - start_pos 个字符。

since: 2.30

utf8_to_ucs4

将字符串从 UTF-8 转换为 32 位固定宽度的 UCS-4 表示。

utf8_to_ucs4_fast

将字符串从 UTF-8 转换为 32 位固定宽度的 UCS-4 表示,假设有效的 UTF-8 输入。

utf8_to_utf16

将字符串从 UTF-8 转换为 UTF-16。

utf8_truncate_middle

剪掉字符串的中间部分,保留 truncate_length 字符的一半在开头,一半在结尾。

since: 2.78

utf8_validate

验证 UTF-8 编码的文本。

utf8_validate_len

验证 UTF-8 编码的文本。

since: 2.60

utime

POSIX 函数 utime() 的包装器。函数 utime() 设置文件的访问和修改时间戳。

since: 2.18

uuid_string_is_valid

解析字符串 str 并验证它是否为 UUID

since: 2.52

uuid_string_random

生成一个随机的 UUIDRFC 4122 第 4 版)作为字符串。它与 GRand 具有相同的随机性保证,因此不能用于如密钥生成、nonce、盐或一次性填充等加密目的。

since: 2.52

variant_get_gtype

vasprintf

GNU 函数 vasprintf() 的实现,支持按照单 Unix 规范指定的位置参数。此函数与 g_vsprintf() 类似,不同之处在于它在分配的字符串中持有输出,而不是将输出放在你先前提到的缓冲区中。

since: 2.4

vfprintf

实现了支持位置参数的标准`fprintf()`函数,具体要求参考单Unix规范。

自:2.2

vprintf

对标准函数 vprintf() 的实现,它支持按照单 Unix 规范指定的位置参数。

自:2.2

vsnprintf

比标准函数 vsprintf() 更安全的版本。输出保证不超过 n 个字符(包括终止空字符),因此可以确保不会发生缓冲区溢出。

vsprintf

这是一个符合单一代码规范的标准 vsprintf() 函数实现,支持位置参数。

自:2.2

warn_message

内部函数,用于从公共宏 g_warn_if_reached()g_warn_if_fail() 打印消息。

函数宏

abort

POSIX abort() 函数的包装器。

since: 2.50

ALIGNOF

返回平台 ABI 对给定类型值所需要的最小对齐方式。给定类型的变量或结构体成员的地址必须是这个对齐方式的整数倍。例如,大多数平台上要求 int 变量对齐到 4 字节边界,因此大多数平台上 G_ALIGNOF (int) 是 4。

since: 2.60

alloca

在栈上分配 size 字节;这将从当前栈帧清理时释放。这个宏本质上就是对大多数 UNIX 变体中存在的 alloca() 函数的包装。因此,它提供了与 alioca() 相同的优点和缺陷。

alloca0

包装 g_alloca() 并将分配的内存初始化为零。如果 size 为 0,则返回 NULL

since: 2.72

APPROX_VALUE

如果 ab 之间的绝对差小于 epsilon,则结果为真值;否则为假值。

since: 2.58

array_append_val

将值添加到数组的末尾。如果需要,数组会自动增长。

array_index

返回给定索引处的 GArray 元素。返回值被转换为目标类型。这是读取或写入 GArray 元素的主要方式。

array_insert_val

在给定的索引处插入一个元素。

array_prepend_val

将值添加到数组的开头。如果需要,数组会自动增长。

ascii_isalnum

确定一个字符是否是字母数字。

ascii_isalpha

确定一个字符是否是字母(即字母)。

ascii_iscntrl

确定一个字符是否是控制字符。

ascii_isdigit

确定一个字符是否是数字(0-9)。

ascii_isgraph

确定一个字符是否是可打印字符,而不是空格。

ascii_islower

确定一个字符是否是 ASCII 小写字母。

ascii_isprint

确定一个字符是否是可打印字符。

ascii_ispunct

确定一个字符是否是标点符号字符。

ascii_isspace

确定一个字符是否是空白字符。

ascii_isupper

确定一个字符是否是 ASCII 大写字母。

ascii_isxdigit

确定一个字符是否是十六进制数字字符。

assert

如果断言失败,则终止应用程序的调试宏。

assert_cmpfloat

比较两个浮点数的调试宏。

自: 2.16

assert_cmpfloat_with_epsilon

在一个epsilon范围内的两个浮点数比较的调试宏。

since: 2.58

assert_cmphex

比较无符号整数的调试宏。

自: 2.16

assert_cmpint

比较两个整数的调试宏。

自: 2.16

assert_cmpmem

比较内存区域的调试宏。

since: 2.46

assert_cmpstr

比较两个字符串的调试宏。

自: 2.16

assert_cmpstrv

检查两个 NULL 终结的字符串数组(即 2 GStrv)是否相等的调试宏。

since: 2.68

assert_cmpuint

调试宏,用于比较两个无符号整数。

自: 2.16

assert_cmpvariant

调试宏,用于比较两个 GVariant 值。

since: 2.60

assert_error

调试宏,用于检查一个方法是否返回了正确的 GError

since: 2.20

assert_false

调试宏,用于检查一个表达式是否为 false。

since: 2.38

assert_no_errno

调试宏,用于检查一个表达式有一个非负返回值,正如传统的 POSIX 函数(如 rmdir())用来指示成功。

since: 2.66

assert_no_error

调试宏,用于检查一个 GError 没有被设置。

since: 2.20

assert_nonnull

调试宏,用于检查一个表达式不是 NULL

自:2.40

assert_not_reached

调试宏,如果程序运行到此处则终止应用程序。

assert_null

调试宏,用于检查一个表达式是 NULL

since: 2.38

assert_true

调试宏,用于检查一个表达式为 true。

since: 2.38

ATEXIT

atomic_rc_box_new

一个便利宏,用于以给定 type 的大小分配原子引用计数数据。

since: 2.58

atomic_rc_box_new0

一个便利宏,用于以给定 type 的大小分配原子引用计数数据,并设置其内容为零。

since: 2.58

AUTO_LOCK

G_MUTEX_AUTO_LOCK() 类似,但用于由 G_LOCK_DEFINE() 定义的锁。

自:2.80

BREAKPOINT

在代码中插入断点指令。

C_STD_CHECK_VERSION

宏检查当前编译器是否支持指定的 C 标准版本。该值必须是数值,可以是已知的短期形式(例如 9099)或完整形式(例如 199000L199901L205503L)。

since: 2.76

CHECK_VERSION

检查正在编译的 GLib 库版本是否大于或等于给定的版本。

chunk_free

chunk_new

chunk_new0

critical

记录一个‘关键警告’(G_LOG_LEVEL_CRITICAL)。

CXX_STD_CHECK_VERSION

宏检查当前编译器是否支持指定的 C++ 标准版本。该值必须是数值,可以是已知的短期形式(例如 1117)或完整形式(例如 201103L201703L205503L)。

since: 2.76

datalist_id_remove_data

使用其 GQuark 标识符删除一个元素。

datalist_id_set_data

设置与给定 GQuark id 对应的数据。任何具有相同键的先前数据都会被删除,并调用其销毁函数。

datalist_remove_data

使用字符串标识符删除一个元素。如果已设置数据元素,则调用其销毁函数。

datalist_remove_no_notify

删除一个元素,不调用其销毁通知器。

datalist_set_data

设置与给定字符串标识符对应的数据元素。

datalist_set_data_full

设置与给定字符串标识符对应的数据元素,并设置在删除数据元素时调用的函数。

dataset_get_data

获取与字符串对应的数据元素。

dataset_id_remove_data

从数据集中删除数据元素。如果已经设置该数据元素,则调用其销毁函数。

dataset_id_set_data

设置与给定 GQuark id 关联的数据元素。删除具有相同键名的先前数据,并调用其销毁函数。

dataset_remove_data

删除与字符串对应的的数据元素。如果已设置,则调用其销毁函数。

dataset_remove_no_notify

删除一个元素,不调用其销毁通知器。

dataset_set_data

设置与给定字符串标识符对应的数据。

dataset_set_data_full

设置给定字符串标识符对应的数据,并在销毁数据元素时调用指定的函数。

debug

一个方便的函数/宏,用于记录调试信息。

since: 2.6

DEBUG_HERE

是 g_log_structured() 的方便形式,建议在调试时添加到函数中。它使用 G_STRLOC 打印当前的单调时间和代码位置。

since: 2.50

DEFINE_AUTO_CLEANUP_CLEAR_FUNC

为类型定义适当的清理函数。

since: 2.44

DEFINE_AUTO_CLEANUP_FREE_FUNC

为类型定义适当的清理函数。

since: 2.44

DEFINE_AUTOPTR_CLEANUP_FUNC

为指针类型定义适当的清理函数。

since: 2.44

DEFINE_EXTENDED_ERROR

这是一个方便的宏,它定义了两个函数。首先,返回扩展错误类型 ErrorTypeGQuark;它被称为 error_type_quark()。其次,返回传递给 GError 的私有数据;它被称为 error_type_get_private()

since: 2.68

DEFINE_QUARK

这是一个方便的宏,它定义了一个返回 GQuark 的函数,该函数的名称为 q_n_quark

since: 2.34

DEPRECATED_ENUMERATOR_FOR

DEPRECATED_FOR

DEPRECATED_MACRO_FOR

DEPRECATED_TYPE_FOR

ENCODE_VERSION

error

一个方便的函数/宏,用于记录错误信息。

GINT64_CONSTANT

GNUC_ALLOC_SIZE

如果编译器是较新的 gcc,则展开为 GNU C alloc_size 函数属性。此属性告诉编译器,该函数返回一个指针,其指向的内存大小由 xth 函数参数指定。

since: 2.18

GNUC_ALLOC_SIZE2

如果编译器是较新的 gcc,则展开为 GNU C alloc_size 函数属性。此属性告诉编译器,该函数返回一个指针,其指向的内存大小由两个函数参数的乘积指定。

since: 2.18

GNUC_CHECK_VERSION

展开为对已定义的 GNUC 且版本大于或等于所提供的主副版本的编译器的检查。例如,以下内容仅在 GCC 4.8 或更新的编译器上匹配。

since: 2.42

GNUC_DEPRECATED_FOR

类似于 G_GNUC_DEPRECATED,但在使用的 gcc 版本足够新以支持自定义弃用消息的情况下,命名了已弃用符号的预期替换。

since: 2.26

GNUC_FORMAT

如果编译器是 gcc,则展开为 GNU C format_arg 函数属性。此函数属性指定一个函数接受一个用于 printf()scanf()strftime()strfmon() 风格函数的格式字符串,并修改它,以便可以将结果传递给 printf()scanf()strftime()strfmon() 风格函数(格式函数的其余参数与未修改字符串相同)。

GNUC_PRINTF

如果编译器是 gcc,则展开为 GNU C format 函数属性。这用于声明接受可变数量参数的函数,其语法与 printf() 相同。它允许编译器对传递给函数的参数进行类型检查。

GNUC_SCANF

如果编译器是 gcc,则展开为 GNU C format 函数属性。这用于声明接受可变数量参数的函数,其语法与 scanf() 相同。它允许编译器对传递给函数的参数进行类型检查。

GNUC_STRFTIME

如果有gcc编译器,则会扩展到GNU C strftime 格式函数属性。这用于声明传递给strftime()或实现其格式的API的格式参数的函数。它允许编译器检查传递给函数的格式。

since: 2.60

GOFFSET_CONSTANT

GUINT64_CONSTANT

hash_table_freeze

这个函数已被弃用,将在GLib的下一个主要版本中删除。它没有任何作用。

hash_table_thaw

这个函数已被弃用,将在GLib的下一个主要版本中删除。它没有任何作用。

HOOK_ACTIVE

如果GHook处于活动状态,则返回TRUE,这通常是正常的,直到GHook被销毁。

hook_append

将一个GHook追加到GHookList的末尾。

HOOK_FLAGS

获取钩子的标志。

HOOK_IN_CALL

如果GHook函数目前正在执行,则返回TRUE

htonl

将32位整数值从主机字节序转换为网络字节序。

htons

将16位整数值从主机字节序转换为网络字节序。

info

一个方便的函数/宏,用于记录一条信息性消息。

自:2.40

LIKELY

提示编译器该表达式很可能评估为真值。编译器可能使用此信息进行优化。

自:2.2

list_next

一个方便的宏,用于获取GList中的下一个元素。请注意,直接访问list->next是完全可以接受的。

list_previous

一个方便的宏,用于获取GList中的上一个元素。请注意,直接访问list->prev是完全可以接受的。

LOCK

g_mutex_lock()类似,但用于用G_LOCK_DEFINE定义的锁。

LOCK_DEFINE

`G_LOCK_宏为`GMutex`提供了一个方便的接口。`G_LOCK_DEFINE`定义一个锁。可以在程序中定义变量的任何地方出现,即函数的第一块或函数外部。`name`参数将被丑化以获得`GMutex`的名称。这意味着您可以使用现有变量的名称作为参数 - 例如,您打算使用锁保护的变量的名称。请查看我们使用`G_LOCK`宏的`give_me_next_number()`示例。

LOCK_DEFINE_STATIC

这类似于`G_LOCK_DEFINE`,但又创建一个静态对象。

LOCK_EXTERN

这声明一个锁,该锁在另一个模块中用`G_LOCK_DEFINE`定义。

LOCK_NAME

main_destroy

释放为GMainLoop分配的内存。

已过时:2.2

main_is_running

检查主循环是否在运行。

已过时:2.2

main_iteration

为默认的GMainContext运行一个迭代。

已过时:2.2

main_new

为默认的主上下文创建新的GMainLoop

已过时:2.2

main_pending

检查是否有任何事件对默认的GMainContext处于挂起状态(即准备好处理)。

已过时:2.2

main_quit

停止GMainLoop。如果调用了`g_main_run()`以运行GMainLoop,它现在将返回。

已过时:2.2

main_run

运行主循环,直到它停止运行。

已过时:2.2

main_set_poll_func

设置用于默认主上下文文件描述符处理句柄轮询的函数。

已过时:2.2

mem_chunk_create

memmove

复制从`src`到`dest`的内存区域,长度为`len`个字节。源和目标区域可以重叠。

已弃用:2.40

message

一个方便的函数/宏,用于记录一条普通消息。

MUTEX_AUTO_LOCK

使用`g_autoptr()`声明一个`GMutexLocker`变量并锁定互斥锁。互斥锁将在离开范围时自动解锁。该变量用于`G_GNUC_UNUSED`,以避免编译器警告该变量已弃用。

since: 2.80.0

N_ELEMENTS

确定了数组中的元素数量。数组需要在编译时声明其大小,以使编译器知道它的大小;这个宏在堆上分配的数组上不会工作,仅在静态数组或栈上的数组上。

new

分配类型为 struct_typen_structs 个元素。返回的指针被转换为指定类型的指针。如果 n_structs 为 0,它返回 NULL。在计算分配块的大小时,注意避免溢出。

new0

分配类型为 struct_typen_structs 个元素,并初始化为零。返回的指针被转换为给定类型的指针。如果 n_structs 为 0,它返回 NULL。在计算分配块的大小时,注意避免溢出。

newa

以更类型安全的方式封装 g_alloca()

newa0

以更类型安全的方式封装 g_alloca0()

since: 2.72

node_append

GNode 插入为给定父级的最末子节点。

node_append_data

将新的 GNode 插入为给定父级的最末子节点。

node_first_child

获取 GNode 的第一个子节点。

node_insert_data

在指定位置插入新的 GNode

node_insert_data_after

在给定兄弟节点之后插入新的 GNode

node_insert_data_before

在给定兄弟节点之前插入新的 GNode

node_next_sibling

获取 GNode 的下一个兄弟节点。

node_prepend_data

将新的 GNode 插入为给定父级的第一个子节点。

node_prev_sibling

获取 GNode 的前一个兄弟节点。

ntohl

将 32 位整数值从网络字节序转换为主机字节序。

ntohs

将 16 位整数值从网络字节序转换为主机字节序。

once

第一个对具有给定 GOnce 结构的例程的调用将使用给定参数调用 func。此后,后续对与同一 GOnce 结构的相同 g_once 的调用不再调用 func,而是返回第一次调用的存储结果。从 g_once() 返回后,once 的状态将为 G_ONCE_STATUS_READY

since: 2.4

PASTE

从其展开参数 identifier1identifier2 生成新的预处理器粘贴标识符 identifier1identifier2。例如,以下代码

#define GET(traveller,method) G_PASTE(traveller_get_, method) (traveller)
const gchar *name = GET (traveller, name);
const gchar *quest = GET (traveller, quest);
GdkColor *favourite = GET (traveller, favourite_colour);

since: 2.20

PASTE_ARGS

PRIVATE_INIT

这是一个辅助静态初始化 GPrivate 的宏。

自: 2.32

ptr_array_index

返回指针数组的给定索引处的指针。

rand_boolean

rand_ 返回一个随机的 gboolean。这对应于无偏硬币投掷。

random_boolean

返回一个随机的 gboolean。这对应于无偏硬币投掷。

rc_box_new

这是一个方便的宏,用于以给定 type 的大小分配引用计数的数据。

since: 2.58

rc_box_new0

这是一个方便的宏,用于以给定 type 的大小分配引用计数的数据,并将其内容设置为零。

since: 2.58

REC_MUTEX_AUTO_LOCK

使用 g_autoptr() 声明带 GRecMutexLocker 变量的变量并锁定互斥锁。当离开作用域时,将自动解锁互斥锁。变量使用 G_GNUC_UNUSED 声明,以避免未在作用域中使用时的编译器警告。

since: 2.80.0

renew

重新分配由 mem 指向的内存,使其现在有空间用于类型为 struct_typen_structs 个元素。它返回新的内存地址,这可能会导致移动。在计算分配块的大小时,注意避免溢出。

return_if_fail

return_if_reached

return_val_if_fail

return_val_if_reached

RW_LOCK_READER_AUTO_LOCK

使用g_autoptr()声明一个GRWLockReaderLocker变量并对其进行读锁。当离开作用域时,互斥锁将自动解锁。变量通过G_GNUC_UNUSED声明,以避免在使用范围外编译器警告。

since: 2.80.0

RW_LOCK_WRITER_AUTO_LOCK

使用g_autoptr()声明一个GRWLockWriterLocker变量并对其进行写锁。当离开作用域时,互斥锁将自动解锁。变量通过G_GNUC_UNUSED声明,以避免在使用范围外编译器警告。

since: 2.80.0

scanner_add_symbol

将符号添加到默认作用域。

已过时:2.2

scanner_foreach_symbol

在默认作用域中为每个符号调用一个函数。

已过时:2.2

scanner_freeze_symbol_table

没有理由使用这个宏,因为它什么也不做。

已过时:2.2

scanner_remove_symbol

将符号从默认作用域中删除。

已过时:2.2

scanner_thaw_symbol_table

没有理由使用这个宏,因为它什么也不做。

已过时:2.2

size_checked_add

执行带检查的ab相加,将结果存储在dest中。

since: 2.48

size_checked_mul

执行带检查的ab相乘,将结果存储在dest中。

since: 2.48

SIZEOF_MEMBER

在没有声明struct_type实例的情况下,返回结构定义中member的大小。

自2.64以来

slice_dup

使用切片分配器复制内存块的一个便利宏。

since: 2.14

slice_free

释放已从切片分配器分配的内存块的便利宏。

since: 2.10

slice_free_chain

释放类型为 type 结构的内存块链表。

since: 2.10

slice_new

从切片分配器分配内存块的便利宏。

since: 2.10

slice_new0

从切片分配器分配内存块并将其设置为0的便利宏。

since: 2.10

slist_next

获取GSList中的下一个元素的便利宏。请注意,直接访问slist->next被认为是完全可接受的。

SOURCE_FUNC

将函数指针转换为GSourceFunc,抑制8.0及以上版本GCC在启用-Wextra-Wcast-function-type时的警告,关于函数类型不兼容。

since: 2.58

STATIC_ASSERT

G_STATIC_ASSERT()宏允许程序员在编译时检查一个条件,条件需要在编译时可以计算的。该宏可以在typedef有效的任何地方使用。

since: 2.20

STATIC_ASSERT_EXPR

G_STATIC_ASSERT_EXPR()宏允许程序员在编译时检查一个条件。条件需要在编译时可以计算。

since: 2.30

static_mutex_lock

与g_mutex_lock()类似,但用于GStaticMutex

废弃: 2.32 

static_mutex_trylock

与g_mutex_trylock()类似,但用于GStaticMutex

废弃: 2.32 

static_mutex_unlock

与g_mutex_unlock()类似,但用于GStaticMutex

废弃: 2.32 

STRINGIFY

接受一个宏或字符串并将其转换为字符串,在预处理参数展开之后。例如,以下代码:

STRINGIFY_ARG

strstrip

从字符串中删除前导和尾随空白。

STRUCT_MEMBER

使用给定类型返回结构体在给定偏移处的成员。

STRUCT_MEMBER_P

返回对结构偏移处的无类型指针。

STRUCT_OFFSET

返回结构体成员的字节偏移量。

test_add

testpath处挂载一个新的测试用例。

自: 2.16

test_assert_expected_messages

断言以前通过g_test_expect_message()表示的所有消息都已看到并被抑制。

since: 2.34

test_initialized

如果调用过g_test_init(),则返回true。

自:2.36

test_perf

如果测试以性能模式运行,则返回true。

test_queue_unref

在下一轮拆卸阶段将对象入队列,以通过g_object_unref()释放。

自: 2.16

test_quick

如果测试以快速模式运行,则返回true。

test_quiet

如果测试以安静模式运行,则返回true。

test_rand_bit

获取可重复的随机位(0或1)。

自: 2.16

test_slow

如果测试以慢速模式运行,则返回true。

test_thorough

如果测试以详细模式运行,则返回true。

test_trap_assert_failed

断言最后一个测试子进程失败。

自: 2.16

test_trap_assert_passed

断言最后一个测试子进程通过。

自: 2.16

test_trap_assert_stderr

断言最后一个测试子进程的stderr输出与serrpattern匹配。

自: 2.16

test_trap_assert_stderr_unmatched

断言最后一个测试子进程的stderr输出不与serrpattern匹配。

自: 2.16

test_trap_assert_stdout

断言最后一个测试子进程的stdout输出与soutpattern匹配。

自: 2.16

test_trap_assert_stdout_unmatched

断言最后一个测试子进程的stdout输出不与soutpattern匹配。

自: 2.16

test_undefined

如果测试可能会引发断言和其他形式上未定义的行为,返回true,以验证是否提供了适当的警告。

test_verbose

如果测试以详细模式运行,则返回true。

thread_supported

此宏返回TRUE,如果线程系统已初始化,否则返回FALSE

try_new

尝试为类型struct_type分配n_structs个元素,并在失败时返回NULL。与g_new()不同,后者在失败时会中止程序。返回的指针被转换为指向给定类型的指针。当n_structs为0或发生溢出时,该函数返回NULL

自:2.8

try_new0

尝试为类型struct_type分配n_structs个元素,并将其初始化为0,并在失败时返回NULL。与g_new0()不同,后者在失败时会中止程序。返回的指针被转换为指向给定类型的指针。当n_structs为0或发生溢出时,该函数返回NULL

自:2.8

try_renew

尝试重新分配mem指向的内存,以便它现在可以容纳类型为struct_typen_structs个元素,并在失败时返回NULL。与g_renew()不同,后者在失败时会中止程序。它返回内存的新地址,可能已被移动。如果发生溢出,函数返回NULL

自:2.8

TRYLOCK

与g_mutex_trylock()类似,但是用于通过G_LOCK_DEFINE定义的锁。

typeof

uint64_checked_add

执行带检查的ab相加,将结果存储在dest中。

since: 2.48

uint64_checked_mul

执行带检查的ab相乘,将结果存储在dest中。

since: 2.48

uint_checked_add

执行带检查的ab相加,将结果存储在dest中。

since: 2.48

uint_checked_mul

执行带检查的ab相乘,将结果存储在dest中。

since: 2.48

UNAVAILABLE

UNAVAILABLE_ENUMERATOR

UNAVAILABLE_MACRO

UNAVAILABLE_STATIC_INLINE

UNAVAILABLE_TYPE

UNLIKELY

提示编译器表达式不太可能评估为真值。编译器可以使用此信息进行优化。

自:2.2

UNLOCK

与g_mutex_unlock()类似,但是用于通过G_LOCK_DEFINE定义的锁。

utf8_next_char

跳转至UTF-8字符串中的下一个字符。

VARIANT_BUILDER_INIT

如果与g_auto()一起使用,则堆栈分配的GVariantBuilder必须初始化。此宏在声明构建器时可以用作初始化器,但不能分配给变量。

since: 2.50

VARIANT_BUILDER_INIT_UNSET

如果与g_auto()一起使用,则堆栈分配的GVariantBuilder必须初始化。此宏在声明构建器时可以用作初始化器,但不能分配给变量。

不稳定 自 2.84

VARIANT_DICT_INIT

如果与g_auto()一起使用,则堆栈分配的GVariantDict必须初始化,以避免在在构建器上调用g_variant_dict_init()之前返回警告或崩溃。

since: 2.50

warn_if_fail

如果表达式不为真,则记录警告。

自: 2.16

warn_if_reached

记录警告。

自: 2.16

warning

用于记录警告消息的便利函数/宏。

警告一次

仅记录一次警告。

自2.64以来

WIN32_DLLMAIN_FOR_DLL_NAME

在Windows中,此宏定义了一个DllMain()函数,该函数存储了正在编译的代码将包含的实际DLL名称。

常量

ALLOC_AND_FREE

ALLOC_ONLY

ALLOCATOR_LIST

ALLOCATOR_NODE

ALLOCATOR_SLIST

ANALYZER_ANALYZING

ASCII_DTOSTR_BUF_SIZE

是传递到g_ascii_dtostr()的缓冲区的好大小。在64位IEEE-兼容双精度下,保证了该函数所有输出的足够空间。

ATOMIC_REF_COUNT_INIT

gatomicrefcount求得的初始引用计数。

BIG_ENDIAN

指定可能的字节顺序类型之一。参见G_BYTE_ORDER

C_STD_VERSION

代码编译所针对的C标准版本,通常使用与C标准兼容的编译器相同的值定义,例如对于C标准兼容的编译器使用相同的__STDC_VERSION__值,而在纯MSVC中它使用最低标准版本,考虑到在这种编译器中定义取决于编译标志。

CSET_A_2_Z

ASCII大写字母字符集合。用于在GScannerConfig中指定有效的标识符字符。

CSET_a_2_z

ASCII小写字母字符集合。用于在GScannerConfig中指定有效的标识符字符。

CSET_DIGITS

ASCII数字集合。用于在GScannerConfig中指定有效的标识符字符。

DATALIST_FLAGS_MASK

一个掩码,用于限制传递给g_datalist_set_flags()的可能标志。如果传递的标志值使得flags & ~G_DATALIST_FLAGS_MASK != 0,则为错误。

DATE_BAD_DAY

表示无效的GDateDay

DATE_BAD_JULIAN

表示无效的儒略天数。

DATE_BAD_YEAR

表示无效的年份。

DIR_SEPARATOR

目录分隔符。

DIR_SEPARATOR_S

目录分隔符字符串。

E

自然对数的底。

GINT16_FORMAT

GINT16_MODIFIER

GINT32_FORMAT

GINT32_MODIFIER

GINT64_FORMAT

GINT64_MODIFIER

GINTPTR_FORMAT

GINTPTR_MODIFIER

GNUC_FUNCTION

在现代所有编译器上扩展为“”,在gcc 2.x版本上扩展为FUNCTION。请勿使用它。

已弃用:2.16

GNUC_PRETTY_FUNCTION

在现代所有编译器上扩展为“”,在gcc 2.x版本上扩展为PRETTY_FUNCTION。请勿使用它。

已弃用:2.16

GSIZE_FORMAT

GSIZE_MODIFIER

GSSIZE_FORMAT

GSSIZE_MODIFIER

GUINT16_FORMAT

GUINT32_FORMAT

GUINT64_FORMAT

GUINTPTR_FORMAT

HAVE_GINT64

HAVE_GNUC_VARARGS

HAVE_GNUC_VISIBILITY

定义为1,如果支持gcc样式可见性处理。

HAVE_GROWING_STACK

HAVE_ISO_VARARGS

HOOK_FLAG_USER_SHIFT

第一个不保留作内部使用的位的位置,即GHook实现中,也就是说,1 << G_HOOK_FLAG_USER_SHIFT是第一个可用于应用定义标志的位。

IEEE754_DOUBLE_BIAS

双精度浮点数的指数偏移量。

IEEE754_FLOAT_BIAS

单精度浮点数的指数偏移量。

KEY_FILE_DESKTOP_GROUP

桌面条目文件的主体组名称,如《桌面条目规范》中定义。请参考规范以获取关于以下键的含义的更多详细信息。

KEY_FILE_DESKTOP_KEY_ACTIONS

G_KEY_FILE_DESKTOP_GROUP下的一个键,其值是一个字符串列表,表示可用的应用操作。

KEY_FILE_DESKTOP_KEY_CATEGORIES

G_KEY_FILE_DESKTOP_GROUP下的一个键,其值是一个字符串列表,指定桌面条目应在菜单中显示的分类。

KEY_FILE_DESKTOP_KEY_COMMENT

G_KEY_FILE_DESKTOP_GROUP下的一个键,其值是一个本地化的字符串,给出桌面条目的工具提示。

KEY_FILE_DESKTOP_KEY_DBUS_ACTIVATABLE

G_KEY_FILE_DESKTOP_GROUP下的一个键,其值是一个布尔值,设置为true表示应用程序是D-Bus可激活的。

KEY_FILE_DESKTOP_KEY_EXEC

G_KEY_FILE_DESKTOP_GROUP下的一个键,其值是一个字符串,给出要执行的命令行。它仅对具有Application类型的桌面条目有效。

KEY_FILE_DESKTOP_KEY_GENERIC_NAME

G_KEY_FILE_DESKTOP_GROUP下的一个键,其值是一个本地化的字符串,给出桌面条目的通用名称。

KEY_FILE_DESKTOP_KEY_HIDDEN

G_KEY_FILE_DESKTOP_GROUP下的一个键,其值是一个布尔值,表示桌面条目是否被用户删除。

KEY_FILE_DESKTOP_KEY_ICON

G_KEY_FILE_DESKTOP_GROUP下的一个键,其值是一个本地化的字符串,给出显示在桌面条目中的图标名称。

KEY_FILE_DESKTOP_KEY_MIME_TYPE

G_KEY_FILE_DESKTOP_GROUP下的一个键,其值是一个字符串列表,给出此桌面条目支持的MIME类型。

KEY_FILE_DESKTOP_KEY_NAME

G_KEY_FILE_DESKTOP_GROUP下的一个键,其值是一个本地化的字符串,给出桌面条目的特定名称。

KEY_FILE_DESKTOP_KEY_NO_DISPLAY

G_KEY_FILE_DESKTOP_GROUP下的一个键,其值是一个布尔值,表示是否在菜单中显示桌面条目。

KEY_FILE_DESKTOP_KEY_NOT_SHOW_IN

G_KEY_FILE_DESKTOP_GROUP下的一个键,其值是一个字符串列表,标识不应显示桌面条目的环境。

KEY_FILE_DESKTOP_KEY_ONLY_SHOW_IN

G_KEY_FILE_DESKTOP_GROUP下的一个键,其值是一个字符串列表,标识应显示桌面条目的环境。

KEY_FILE_DESKTOP_KEY_PATH

G_KEY_FILE_DESKTOP_GROUP下的一个键,其值是一个字符串,包含运行程序的当前工作目录。它仅对具有Application类型的桌面条目有效。

KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY

G_KEY_FILE_DESKTOP_GROUP下的一个键,其值是一个布尔值,表示应用程序是否支持启动通知协议规范

KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASS

G_KEY_FILE_DESKTOP_GROUP下的一个键,其值是一个字符串,标识应用程序将创建的窗口的WM类或名称提示,这可以用于在较老应用程序中使用启动通知。

KEY_FILE_DESKTOP_KEY_TERMINAL

G_KEY_FILE_DESKTOP_GROUP下的一个键,其值是一个布尔值,表示程序是否应在终端窗口中运行。

KEY_FILE_DESKTOP_KEY_TRY_EXEC

G_KEY_FILE_DESKTOP_GROUP下的一个键,其值是一个字符串,给出磁盘上用于确定程序是否实际安装的二进制文件名。它仅对具有Application类型的桌面条目有效。

KEY_FILE_DESKTOP_KEY_TYPE

G_KEY_FILE_DESKTOP_GROUP下的一个键,其值是一个字符串,给出桌面条目的类型。

KEY_FILE_DESKTOP_KEY_URL

位于 G_KEY_FILE_DESKTOP_GROUP 下的一个键,其值是一个字符串,表示访问的 URL。它只对具有 Link 类型的桌面条目有效。

KEY_FILE_DESKTOP_KEY_VERSION

位于 G_KEY_FILE_DESKTOP_GROUP 下的一个键,其值是一个字符串,表示桌面条目文件所使用的桌面条目规范版本。

KEY_FILE_DESKTOP_TYPE_APPLICATION

G_KEY_FILE_DESKTOP_KEY_TYPE 键的值,代表应用程序的桌面条目。

KEY_FILE_DESKTOP_TYPE_DIRECTORY

G_KEY_FILE_DESKTOP_KEY_TYPE 键的值,代表目录的桌面条目。

KEY_FILE_DESKTOP_TYPE_LINK

G_KEY_FILE_DESKTOP_KEY_TYPE 键的值,代表指向文档的链接的桌面条目。

LITTLE_ENDIAN

指定可能的字节顺序类型之一。参见G_BYTE_ORDER

LN10

10 的自然对数。

LN2

2 的自然对数。

LOG_2_BASE_10

将这个数字乘以以 2 为基的指数将得到以 10 为基的指数。

LOG_DOMAIN

定义日志域。参见 日志域

LOG_FATAL_MASK

GLib 默认认为致命的日志级别。

LOG_LEVEL_USER_SHIFT

低于 1<<G_LOG_LEVEL_USER_SHIFT 的日志级别由 GLib 使用。更高的位可以用于用户定义的日志级别。

MAJOR_VERSION

GLib 库的主版本号。

MAXINT16

MAXINT32

MAXINT64

MAXINT8

MAXUINT16

MAXUINT32

MAXUINT64

MAXUINT8

MICRO_VERSION

GLib 库的微版本号。

MININT16

可以存储在 #gint16 中的最小值。

MININT32

可以存储在 #gint32 中的最小值。

MININT64

可以存储在 #gint64 中的最小值。

MININT8

可以存储在 #gint8 中的最小值。

MINOR_VERSION

GLib 库的次版本号。

MODULE_SUFFIX

OPTION_REMAINING

如果主组中的长选项有此名称,它不会被当作常规选项处理。相反,它收集所有非选项参数,这些参数否则将留在 argv 中。该选项必须是 G_OPTION_ARG_CALLBACKG_OPTION_ARG_STRING_ARRAYG_OPTION_ARG_FILENAME_ARRAY 类型。

PDP_ENDIAN

指定可能的字节顺序类型之一(当前未使用)。参见 G_BYTE_ORDER

PI

π 的值(圆周长与直径的比率)。

PI_2

π 除以 2。

PI_4

π 除以 4。

PID_FORMAT

当打印 GPid 时可以在 printf() 风格的格式字符串中使用的格式指定符。

POLLFD_FORMAT

当打印 GPollFDfd 成员时可以在 printf() 风格的格式字符串中使用的格式指定符。

PRIORITY_DEFAULT

用于默认优先级事件源。

PRIORITY_DEFAULT_IDLE

用于默认优先级空闲函数。

PRIORITY_HIGH

用于高优先级事件源。

PRIORITY_HIGH_IDLE

用于高优先级空闲函数。

PRIORITY_LOW

用于非常高优先级的后台任务。

REF_COUNT_INIT

返回 grefcount 的初始引用计数。

SEARCHPATH_SEPARATOR

搜索路径分隔符字符。在 UNIX 机器上这是冒号(’:’),而在 Windows 下是分号(’;’)。

SEARCHPATH_SEPARATOR_S

搜索路径分隔符的字符串表示。在UNIX机器上是“:”,在Windows上是“;”。

SIZEOF_LONG

SIZEOF_SIZE_T

SIZEOF_SSIZE_T

SIZEOF_VOID_P

SOURCE_CONTINUE

将此宏用作返回值,使GSourceFunc的返回值保持GSource在主循环中。

SOURCE_REMOVE

将此宏用作返回值,使GSourceFunc从主循环中移除GSource

SQRT2

二的平方根。

STR_DELIMITERS

标准定界符,用于g_strdelimit()

SYSDEF_AF_INET

SYSDEF_AF_INET6

SYSDEF_AF_UNIX

SYSDEF_MSG_DONTROUTE

SYSDEF_MSG_OOB

SYSDEF_MSG_PEEK

TEST_OPTION_ISOLATE_DIRS

可以向g_test_init()传递的选项值。

TEST_OPTION_NO_PRGNAME

可以向g_test_init()传递的选项值。

TEST_OPTION_NONFATAL_ASSERTIONS

可以向g_test_init()传递的选项值。

TIME_SPAN_DAY

等于一天的时间跨度。

TIME_SPAN_HOUR

等于一小时的时间跨度。

TIME_SPAN_MILLISECOND

等于一毫秒的时间跨度。

TIME_SPAN_MINUTE

等于一分钟的时间跨度。

TIME_SPAN_SECOND

等于一秒的时间跨度。

UNICHAR_MAX_DECOMPOSITION_LENGTH

单个Unicode字符的兼容性或规范分解的最大长度(以码位计)。

URI_RESERVED_CHARS_GENERIC_DELIMITERS

正如RFC 3986中定义的通用定界符字符。包括:/?#[]@

URI RESERVED_CHARS SUBCOMPONENT_DELIMITERS

正如RFC 3986中定义的子组件定界符字符。包括!$&'()*+,;=

USEC_PER_SEC

一秒钟中的微秒数(100万)。此宏提供以提高代码可读性。

VA_COPY_AS_ARRAY

VERSION_MIN_REQUIRED

应在包括glib.h头文件之前由用户定义的宏。定义应该是以下预定义的GLib版本宏之一:GLIB_VERSION_2_26GLIB_VERSION_2_28等等。

WIN32_MSG_HANDLE