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。