结构
GLibBytes
自:2.32 起
说明 [src]
struct GBytes {
/* No available fields */
}
表示一个不可变的从非特定 来源的零或多个字节序列的简单引用计数数据类型。
GBytes 的目的是当任何人拥有字节的引用时保持它所包含的内存区域存活。当最后一个引用计数被释放时,内存将被释放。多个无关的调用者可以在 GBytes 中使用字节数据而不协调他们的活动,确信字节数据在他们持有 引用时不会更改或移动。
GBytes 可以来自许多具有释放内存区域的不同过程的不同来源。示例是来自 g_malloc() 的内存,来自内存切片,来自 GMappedFile 或来自其他 分配器的内存。
GBytes 在 GHashTable 中作为键时效果很好。使用 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 起可用