From d0736b4978b42daa4030e6fbd859b2c7ae404294 Mon Sep 17 00:00:00 2001 From: TermiNexus Date: Sat, 22 Aug 2026 02:07:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E4=BA=86=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App/lib/{core => Phase}/BuildPipeline.vp | 0 App/lib/{core => Phase/Phase1}/Phase1.vp | 0 App/lib/{core => Phase/Phase1}/Phase1Main.vp | 0 App/lib/{core => Phase/Phase1}/Phase1Scan.vp | 0 App/lib/{core => Phase/Phase1}/Phase1Topo.vp | 0 App/lib/{core => Phase/Phase2}/Phase2.vp | 0 App/lib/{core => StubMerger}/StubMerger.vp | 0 App/lib/{core => StubMerger}/StubMergerBuild.vp | 0 App/lib/{core => StubMerger}/StubMergerCollect.vp | 0 App/lib/{core => StubMerger}/StubMergerIR.vp | 0 App/lib/{core => StubMerger}/StubMergerStore.vp | 0 App/lib/{core => StubMerger}/StubMergerTopo.vp | 0 App/lib/__init__.vp | 15 --------------- App/lib/core/IncludesScanner.vp | 5 +---- App/lib/core/__init__.vp | 3 --- App/main.vp | 2 +- 16 files changed, 2 insertions(+), 23 deletions(-) rename App/lib/{core => Phase}/BuildPipeline.vp (100%) rename App/lib/{core => Phase/Phase1}/Phase1.vp (100%) rename App/lib/{core => Phase/Phase1}/Phase1Main.vp (100%) rename App/lib/{core => Phase/Phase1}/Phase1Scan.vp (100%) rename App/lib/{core => Phase/Phase1}/Phase1Topo.vp (100%) rename App/lib/{core => Phase/Phase2}/Phase2.vp (100%) rename App/lib/{core => StubMerger}/StubMerger.vp (100%) rename App/lib/{core => StubMerger}/StubMergerBuild.vp (100%) rename App/lib/{core => StubMerger}/StubMergerCollect.vp (100%) rename App/lib/{core => StubMerger}/StubMergerIR.vp (100%) rename App/lib/{core => StubMerger}/StubMergerStore.vp (100%) rename App/lib/{core => StubMerger}/StubMergerTopo.vp (100%) diff --git a/App/lib/core/BuildPipeline.vp b/App/lib/Phase/BuildPipeline.vp similarity index 100% rename from App/lib/core/BuildPipeline.vp rename to App/lib/Phase/BuildPipeline.vp diff --git a/App/lib/core/Phase1.vp b/App/lib/Phase/Phase1/Phase1.vp similarity index 100% rename from App/lib/core/Phase1.vp rename to App/lib/Phase/Phase1/Phase1.vp diff --git a/App/lib/core/Phase1Main.vp b/App/lib/Phase/Phase1/Phase1Main.vp similarity index 100% rename from App/lib/core/Phase1Main.vp rename to App/lib/Phase/Phase1/Phase1Main.vp diff --git a/App/lib/core/Phase1Scan.vp b/App/lib/Phase/Phase1/Phase1Scan.vp similarity index 100% rename from App/lib/core/Phase1Scan.vp rename to App/lib/Phase/Phase1/Phase1Scan.vp diff --git a/App/lib/core/Phase1Topo.vp b/App/lib/Phase/Phase1/Phase1Topo.vp similarity index 100% rename from App/lib/core/Phase1Topo.vp rename to App/lib/Phase/Phase1/Phase1Topo.vp diff --git a/App/lib/core/Phase2.vp b/App/lib/Phase/Phase2/Phase2.vp similarity index 100% rename from App/lib/core/Phase2.vp rename to App/lib/Phase/Phase2/Phase2.vp diff --git a/App/lib/core/StubMerger.vp b/App/lib/StubMerger/StubMerger.vp similarity index 100% rename from App/lib/core/StubMerger.vp rename to App/lib/StubMerger/StubMerger.vp diff --git a/App/lib/core/StubMergerBuild.vp b/App/lib/StubMerger/StubMergerBuild.vp similarity index 100% rename from App/lib/core/StubMergerBuild.vp rename to App/lib/StubMerger/StubMergerBuild.vp diff --git a/App/lib/core/StubMergerCollect.vp b/App/lib/StubMerger/StubMergerCollect.vp similarity index 100% rename from App/lib/core/StubMergerCollect.vp rename to App/lib/StubMerger/StubMergerCollect.vp diff --git a/App/lib/core/StubMergerIR.vp b/App/lib/StubMerger/StubMergerIR.vp similarity index 100% rename from App/lib/core/StubMergerIR.vp rename to App/lib/StubMerger/StubMergerIR.vp diff --git a/App/lib/core/StubMergerStore.vp b/App/lib/StubMerger/StubMergerStore.vp similarity index 100% rename from App/lib/core/StubMergerStore.vp rename to App/lib/StubMerger/StubMergerStore.vp diff --git a/App/lib/core/StubMergerTopo.vp b/App/lib/StubMerger/StubMergerTopo.vp similarity index 100% rename from App/lib/core/StubMergerTopo.vp rename to App/lib/StubMerger/StubMergerTopo.vp diff --git a/App/lib/__init__.vp b/App/lib/__init__.vp index d8f5f11..ffc0f65 100644 --- a/App/lib/__init__.vp +++ b/App/lib/__init__.vp @@ -11,18 +11,3 @@ import lib.core.VLogger as VLogger # 全局 mbuddy 内存池指针(由 App/main.vp 初始化后注入) # 注意: 使用 MemBuddy 类型而非 MemManager,避免虚函数分派不工作时调用父类 alloc 返回 None _mbuddy: memhub.MemBuddy | t.CPtr - - -def InitLib(mb: memhub.MemBuddy | t.CPtr) -> int: - """初始化 lib 包的全局 _mbuddy 指针,并级联注入到所有子模块。 - - Args: - mb: memhub.MemBuddy 实例指针 - - Returns: - 0 表示成功,非 0 表示失败 - """ - if mb is None: - return 1 - VLogger._mbuddy = mb - return 0 diff --git a/App/lib/core/IncludesScanner.vp b/App/lib/core/IncludesScanner.vp index c405765..844210f 100644 --- a/App/lib/core/IncludesScanner.vp +++ b/App/lib/core/IncludesScanner.vp @@ -165,13 +165,10 @@ def compute_file_sha1(pool: memhub.MemBuddy | t.CPtr, # 原地去除 \r(CRLF → LF),与 Projectrans.py 文本模式读取一致 buf_len: t.CSizeT = string.strlen(buf) write_pos: t.CSizeT = 0 - read_pos: t.CSizeT = 0 - while read_pos < buf_len: - ch: t.CChar = buf[read_pos] + for ch in buf: if ch != '\r': buf[write_pos] = ch write_pos += 1 - read_pos += 1 # 添加 null 终止符 buf[write_pos] = 0 diff --git a/App/lib/core/__init__.vp b/App/lib/core/__init__.vp index 5072cea..0f67288 100644 --- a/App/lib/core/__init__.vp +++ b/App/lib/core/__init__.vp @@ -3,7 +3,4 @@ from stdint import * # ============================================================ # core 包入口 -# -# 子模块通过绝对导入使用(import lib.core.X as X), -# 此 __init__.vp 不做 re-export,避免引入未使用的依赖。 # ============================================================ diff --git a/App/main.vp b/App/main.vp index 5a5ae1e..384395c 100644 --- a/App/main.vp +++ b/App/main.vp @@ -100,7 +100,7 @@ def main() -> int: subprocess._mbuddy = mb # hashlib._mbuddy = (mb) VLogger._mbuddy = mb - lib.InitLib(mb) + lib._mbuddy = mb # P2: 创建项目级 Generator 单例(Phase1/Phase2/BuildPipeline 全程复用; # HandlesType 等旧模块函数经延迟 import 委托到 gen 方法,实现对象化过渡)