惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
G
Google Developers Blog
L
LangChain Blog
aimingoo的专栏
aimingoo的专栏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
云风的 BLOG
云风的 BLOG
小众软件
小众软件
月光博客
月光博客
Recent Announcements
Recent Announcements
人人都是产品经理
人人都是产品经理
P
Proofpoint News Feed
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
雷峰网
雷峰网
The Cloudflare Blog
博客园_首页
美团技术团队
大猫的无限游戏
大猫的无限游戏
B
Blog
IT之家
IT之家
Jina AI
Jina AI
H
Hackread – Cybersecurity News, Data Breaches, AI and More
C
Check Point Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

V2EX

我用 AI 写代码,但终端管理反而成了累赘——于是我做了 codux [调研] 各位在公司都用什么 ide 和 agent 写代码? 老运维 share 一个运维平台 看到有公司考核 token 指标,很好奇大家上个月的 AI 账单是多少 GLM-Coding 调用持续报错: z.ai 的 Lite 套餐几乎无法使用,官方 Pro/Max 是否稳定? 现在还有什么渠道可以稳定安全地使用 Claude 吗? 上海漕河泾内推,本组有 2 个 hc,一个后端,一个前端,预算都是 20k 左右,不打卡,氛围好 如果 V2EX 上有一组不永久保存聊天记录(比如只保存 7 天或者 24 小时)的聊天室,那么会开启哪些有用或者有趣的可能? gemini cli 貌似挂了,一直返回 403 第一次在自媒体上赚到钱 收集了最近在使用的低价 GPT, Gemini,邮箱等 AI 会员的小店合集 讨论个大实话:现在企业还在说 AI 编程提效 20%, 30%的,真的太落后,没用懂 AI。因为包括很多前沿公司,已经狂奔到提效 200%-500%的情况 [招聘][远程][币安] 前端/后端/QA/iOS/Android 至少 3 年以上经验 目前有大量 HC 欢迎投递 Chatgpt Pro 用量用不完的可以开这些设置 面试的时候好像遇到钓鱼了,给各位避个坑 cursor 年续费 22 号到期, 自动续费是否还是老的计次套餐呢 被两件破事毁掉的一下午,琐碎的内耗消磨人的精力 使用 Planet 存储 Codex 的会话或者重要信息 如果业务部门领导不要你开发功能,而是要求你教会它用 claude code 开发功能,你会怎么做? 分享一个 MacOS 接绿联 CM818 USB 转 DP 转接器使用感受 我的 HR 朋友 10 年老 Java ,非全大专,大家帮忙看看简历 开源了一个 AI 口语练习工具,音素级发音评分,完全免费可自部署 V2EX 上有哪些你觉得很有趣、印象深刻的妹纸? 字节为啥不出个国内版 Vercel? 有在大马的朋友吗? 问个运营商问题 你们在有领导的公司大群发过的最大胆的消息是什么 公司裁员,目前没有工作。想试试摆摊,做一个移动鲜啤打酒车 我的硬盘 Memblaze Pblaze 5 Linux 下不识别,给 Linux 内核提交了补丁, AI 说有望被合并 只有我一个人觉得 codex 不好用?
[mcpp]: 用 C++23 模块 + import std 开发了个构建工具,并实...
Sunrisepeak · 2026-05-16 · via V2EX

从去年 gcc 15.1 初步支持 import std 开始, 我就在 C++的模块化上做了很多实践

前段时间, 突然产生了以 C++23 模块化为基础, 实现一个现代 C++模块化项目的构建工具。并以其能用自己从源码构建出自己也就是所谓的自举来做为初步目标, 目前这个目标已经实现

欢迎对现代 C++和模块化感兴趣的朋友来用, mcpp 构建工具使用模块化特性 玩一玩或开发开发小项目 也欢迎大家来反馈和交流

开源仓库: https://github.com/mcpp-community/mcpp


mcpp

一个 现代 C++ 模块化构建工具 — 纯 C++23 模块编写,已实现自举

Release C++23 Self-hosted Module License

mcpp demo

核心特性

  • C++23 模块原生支持import std 自动处理,文件级增量构建,模块依赖自动分析,零手动配置
  • 纯模块化自举 — mcpp 自身由 43+ 个 C++23 模块组成,用自己构建自己,模块系统经实战验证
  • 开箱即用 — 一条命令安装,内置 GCC 16 / LLVM 20 工具链,自动下载到隔离沙盒,不污染系统
  • 集成依赖管理 — SemVer 约束解析、锁文件、跨项目 BMI 缓存、自定义包索引
  • 多包工作空间 — Workspace 统一锁文件与版本管理,适合大型项目

为什么选择 mcpp ?

mcpp 专门为 C++23 模块化开发 打造。如果你想在项目中使用 import std、模块接口单元(.cppm)、模块分区等现代 C++ 特性,mcpp 在 Linux 上能为你提供便捷且友好的开发体验:

  • 默认模块化mcpp new 创建的项目模板直接使用 C++23 模块,import std 开箱即用
  • 文件级增量构建 — 基于 P1689 dyndep 的三层优化(前端脏检查 + 逐文件扫描 + BMI restat ),只重编真正变化的模块
  • 一键创建 & 构建mcpp new hello && cd hello && mcpp build,工具链自动安装,无需手动配置编译器和构建系统
  • 模块化生态mcpplibs 提供一系列可直接 import 的 C++ 模块化库,支持自定义包索引

注: 早期版本 — mcpp 仍在积极开发中,接口和行为可能在后续版本调整。 欢迎对现代 C++ 模块化构建工具感兴趣的开发者参与贡献。 问题 / 反馈 / 想法欢迎在 issues 留言。

快速开始

安装

方式一:使用 xlings 安装(推荐)

xlings install mcpp -y

方式二:一键安装脚本

curl -fsSL https://github.com/mcpp-community/mcpp/releases/latest/download/install.sh | bash

安装到 ~/.mcpp/,自动加进 shell PATH 。删除 ~/.mcpp 即可干净卸载。

方式三:让 AI 助手帮你安装

将以下提示词复制给你的 AI 编码助手( Claude Code / Cursor / Copilot 等):

阅读 https://github.com/mcpp-community/mcpp 的 README ,
帮我安装 mcpp 并创建一个 C++23 模块项目,构建并运行。
项目的 .agents/skills/mcpp-usage/SKILL.md 有详细的使用指南。

创建项目 & 构建运行

mcpp new hello
cd hello
mcpp build
mcpp run

注:首次构建会初始化环境并获取工具链,可能需要一些时间。

项目结构

hello/
├── mcpp.toml             ← 工程描述
└── src/
    └── main.cpp          ← import std; 直接可用
# mcpp.toml
[package]
name = "hello"

[targets.hello]
kind = "bin"
main = "src/main.cpp"

使用模块化库

mcpp.toml 中添加两行依赖,即可引用 mcpplibs 社区模块化库:

[dependencies]
cmdline = "0.0.2"

然后在代码中直接 import

import mcpplibs.cmdline;

更多依赖配置方式(版本约束、命名空间、Git 引用、本地路径等)参见 mcpp.toml 指南 — 依赖管理

平台支持

OS / arch GCC (glibc) GCC (musl) Clang / LLVM MSVC
Linux x86_64 默认
Linux aarch64 🔄 🔄 🔄
macOS 🔄
Windows 🔄 🔄

✅ 已支持 | 🔄 计划中

默认:release 二进制走 musl 全静态,Linux x86_64 可直接运行,无 glibc 依赖。

文档

任意命令的完整选项可通过 mcpp <cmd> --help 查阅。

AI 辅助学习:你可以将以下提示词发给 AI 编码助手,让它帮你快速了解 mcpp:

阅读 https://github.com/mcpp-community/mcpp 仓库的
.agents/skills/mcpp-usage/SKILL.md 和 docs/ 目录下的文档,
告诉我如何用 mcpp 创建一个带依赖的 C++23 模块项目。

参与贡献

欢迎通过 Issue 和 PR 参与项目开发。项目接受开发者使用 AI Agent 参与开发与贡献。

基本流程

  1. 创建 Issue — Bug 修复、新功能、优化等,先在 issues 创建讨论
  2. 实现改动 — Fork 仓库,创建分支,实现并验证(mcpp build + E2E 测试)
  3. 提交 PR — 使用 gh pr create,确保 CI 通过
  4. CI 必须通过 — CI 不通过的 PR 不会被合入

提交信息规范feat: / fix: / test: / docs: / refactor: 前缀

AI Agent 贡献:项目的 .agents/skills/mcpp-contributing/SKILL.md 提供了完整的 Agent 贡献流程和项目结构说明。将以下提示词发给 AI 助手即可:

阅读 https://github.com/mcpp-community/mcpp 仓库的
.agents/skills/mcpp-contributing/SKILL.md ,
按照指南帮我给 mcpp 项目提交一个贡献。

社区 & 生态

致谢

项目依赖和灵感来源: