From f8ea365bd427a43adf1db918dbca257f60c51dbd Mon Sep 17 00:00:00 2001 From: "peng.li24" <734991033@qq.com> Date: Mon, 14 Sep 2026 12:53:22 +0800 Subject: [PATCH] =?UTF-8?q?header-only=EF=BC=9A=E8=A1=A5=20include=20guard?= =?UTF-8?q?=EF=BC=9Brelease=20=E5=8F=AA=E5=8F=91=E5=A4=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - blockmalloc.h 缺 include guard → 二次 include 时 static inline 重定义 (slotsboxmalloc 的实现体内部会再 include 它) - release 不再打包 .so:本库定位是单头文件(#define BLOCKMALLOC_IMPLEMENTATION),消费者把实现体编进自己的 TU Co-Authored-By: Claude Code --- .github/workflows/release.yml | 7 +++---- include/blockmalloc/blockmalloc.h | 1 + 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dfe5971..60dd275 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,11 +18,10 @@ jobs: set -euo pipefail v="${GITHUB_REF_NAME}" d="blockmalloc-abi-$v-linux-x86_64" - mkdir -p "$d/include" "$d/lib" - # 递归收集:头(整目录,保持层级)+ 库(扫构建目录的 .so*/.dylib,-P 保符号链接) + # 本库是 header-only(#define BLOCKMALLOC_IMPLEMENTATION 单头文件): + # 只发头,不发 .so —— 消费者把实现体编进自己的 TU。 + mkdir -p "$d/include" cp -R include/. "$d/include/" - find build -maxdepth 3 \( -name 'lib*.so*' -o -name 'lib*.dylib' \) -exec cp -P {} "$d/lib/" \; - # 本仓无可执行产物(纯库),故不带 bin/ printf '{"abi":"%s"}\n' "$v" > "$d/abi-manifest.json" tar czf "$d.tar.gz" "$d" tar tzf "$d.tar.gz" diff --git a/include/blockmalloc/blockmalloc.h b/include/blockmalloc/blockmalloc.h index 859a6fc..05b87dc 100644 --- a/include/blockmalloc/blockmalloc.h +++ b/include/blockmalloc/blockmalloc.h @@ -1,3 +1,4 @@ +#pragma once /* blockmalloc: 固定大小内存块分配器(block pool)。C11,无外部依赖。