Graft 本地编译器输出到被绑定的APE 头模板
作者: AMDphreak创建于 2026年8月18日更新于 2026年8月18日
cosmocc 今天包含 GCC/Clang(`tlscc`,`-mno-red-zone`,TLS 指令重写)并生成 APE。它不接受由主机 MSVC 或 Apple clang 生成的图像(带有该供应商的优化和错误修复),并将 PT_LOAD/PE 部分移植到稳定的 APE 头文件中。头文件架构(`ape/specification.md`:魔术码,printf 八进制 ELF,dd Mach-O 窗口)变化缓慢。如果 cosmocc 为每个 APE 版本锁定一个模板,并将本机 `.text`/`.data` 拷贝到负载槽中(或到 ZIP 覆盖中),LLVM/MSVC 的改进将在 APE 输出中显示,而无需重新实现代码生成。Dev-Centr 目前正在发布可靠的子集:本机片段的 ZIP 文件 + 一个整合/定制工具。如果您希望 APE 保持为运行中的图像而不是包格式,则外科移植应放在 cosmocc 中。
内容来源: jart/cosmopolitan