跳转至

ev-mold-span-buffer-003

字段 值
项目 rui314/mold
固定 commit 27162691b71a
路径 src/gdb-index.cc
行段 L637-L642
特性 std::span
许可证 MIT
代码来源 项目源码
级别 manual
审核 zyuhao7 @ 2026-10-24
测试代码 否
发现方式 tree-sitter

用法

返回可写 span 指向压缩缓冲区

为什么典型

非拥有视图同时表达起始地址、长度与可写性,避免返回裸指针后另传长度。

摘录

template <typename E>
std::span<u8> get_buffer(Context<E> &ctx, Chunk<E> *chunk) {
  if (chunk->is_compressed)
    return chunk->uncompressed_data;
  return {ctx.buf + chunk->shdr.sh_offset, (size_t)chunk->shdr.sh_size};
}

备注

生产路径;用指针与长度构造动态长度 span。

查看固定 commit 源码 · 返回证据索引