结构

GLibBytes

自:2.32 起

说明 [src]

struct GBytes {
  /* No available fields */
}

表示一个不可变的从非特定 来源的零或多个字节序列的简单引用计数数据类型。

GBytes 的目的是当任何人拥有字节的引用时保持它所包含的内存区域存活。当最后一个引用计数被释放时,内存将被释放。多个无关的调用者可以在 GBytes 中使用字节数据而不协调他们的活动,确信字节数据在他们持有 引用时不会更改或移动。

GBytes 可以来自许多具有释放内存区域的不同过程的不同来源。示例是来自 g_malloc() 的内存,来自内存切片,来自 GMappedFile 或来自其他 分配器的内存。

GBytesGHashTable 中作为键时效果很好。使用 g_bytes_equal()g_bytes_hash() 作为 g_hash_table_new()g_hash_table_new_full() 的参数。GBytes 也可以通过将 g_bytes_compare() 函数传递给 g_tree_new(),作为 GTree 中的键。

此字节所指向的数据不得修改。对于可变字节数组,请参阅 GByteArray。使用 g_bytes_unref_to_array()GBytes 序列创建可变数组。要从可变 GByteArray 创建不可变的 GBytes,请使用 g_byte_array_free_to_bytes() 函数。

自 2.32 起可用

构造函数

g_bytes_new

data 创建一个新的 GBytes

自:2.32 起

g_bytes_new_static

从静态 数据创建一个新的 GBytes

自:2.32 起

g_bytes_new_take

data 创建一个新的 GBytes

自:2.32 起

g_bytes_new_with_free_func

data 创建一个 GBytes

自:2.32 起

实例方法

g_bytes_compare

比较两个 GBytes 值。

自:2.32 起

g_bytes_equal

比较指向的两个 GBytes 值,如果它们 相等,则返回 TRUE

自:2.32 起

g_bytes_get_data

获取 GBytes 中的字节数据。

自:2.32 起

g_bytes_get_region

获取 bytes 中区域的一个指针。

自:2.70 起

g_bytes_get_size

获取 GBytes 中的字节数据的大小。

自:2.32 起

g_bytes_hash

GBytes 中的字节数据创建一个整数哈希码。

自:2.32 起

g_bytes_new_from_bytes

创建一个 GBytes,它是另一个 GBytes 的一个子部分。

自:2.32 起

g_bytes_ref

增加 bytes 的引用计数。

自:2.32 起

g_bytes_unref

释放 bytes 的一个引用。

自:2.32 起

g_bytes_unref_to_array

取消引用字节,并返回一个新的可变的 GByteArray,其中包含相同的字节数据。

自:2.32 起

g_bytes_unref_to_data

取消引用字节,并返回指向相同字节数据内容的指针。

自:2.32 起