
MSCP | mcpp项目学习与贡献者培养计划
MSCP是一款基于mcpp-standard开源项目开发的"地球Online"风格的角色扮演游戏。在游戏中你将扮演一个"编程初学者", 为了入门"现代C++"并揭露其背后的真相, 踏上了一条充满挑战和惊奇的现代C++学习之路...
价格:免费开发者:Sunrisepeak发行商:MOGA发行时间:预计2025年10月游戏体量:100H - 200H之间标签:类魂系列、模拟人生、
Online、程序员、C++、开源、费曼学习法

MSCP是一款基于mcpp-standard开源项目开发的"地球Online"风格的角色扮演游戏。在游戏中你将扮演一个"编程初学者", 为了入门"现代C++"并揭露其背后的真相, 踏上了一条充满挑战和惊奇的现代C++学习之路...
价格: 免费开发者: Sunrisepeak发行商: MOGA发行时间: 预计2025年10月游戏体量: 100H - 200H之间标签: 类魂系列、模拟人生、
Online、程序员、C++、开源、费曼学习法MSCP是一款基于mcpp-standard开源项目开发的"地球Online"风格的角色扮演游戏。在游戏中你将扮演一个"编程初学者", 为了入门"现代C++"并揭露其背后的真相, 踏上了一条充满挑战和惊奇的现代C++学习之路...
价格: 免费开发者: Sunrisepeak发行商: MOGA发行时间: 预计2025年10月游戏体量: 100H - 200H之间标签: 类魂系列、模拟人生、
Online、程序员、C++、开源、费曼学习法一个 强调动手实践 的 现代C++ 入门教程项目。以现代C++的核心语言特性为基础, 开发了一套 [Book + Video + Code + X] 结构的"现代"教程。其中:
Book: 对应的是提供在线电子书和文档解析Video: 提供核心语言特性的讲解视频Code: 提供对应的代码练习及自动化检测工具(包括在线代码练习环境)X: 提供项目的社区论坛和交流讨论群组项目的电子书、练习代码及相关工具开源在Github上, 视频发布在Bilibili和Youtube上
项目之前也被业内媒体 HelloGithub 收录和分享过(112期)
活动以mcpp-standard项目现有的核心语言特性的学习和交互式的代码练习的完成为 主线剧情 , 并在过程中 玩家先扮演C++学习者, 学习相关的核心特性, 然后再扮演技术分享者 把学到的C++特性用自己的语言和逻辑在分享给其他人, 双重视角 + 费曼学习法来快速入门现代C++
同时活动也设置了 支线剧情 的玩法, 玩家在完成新手村任务(T0)后, 即可选择申请加入 活动小组, 然后就可以以团队协作的方式, 参与活动/社区/项目的开发和维护中, 感受一个开源项目和社区是如何运行的...
活动整体设计了主线剧情 + 可选的支线剧情
- 核心玩法/主线:
[学习现代C++核心特性 -> 把学到教会其他人 -> 参与社区讨论]循环这个过程
由于活动涉及的项目/材料/工具内容, 几乎都是开源的, 所以理论任何人都可以参与该活动
::: tip
如果参与中遇到问题/困难, 可以 查看 常见问题 或 在论坛创建话题贴 -> mcpp论坛
注: 活动相关的文档/工具等资源可以查看 -> 活动地图
:::
@SPeak 在 调完字体大小后光标位置不对啊,有没有大佬看看(用xlings下的文字也有问题) 中说:
问题1: 界面乱码问题
A1: xlings已经更新解决(增加了utf8编码的支持, 重装即可
问题2: 代码输入光标位置问题
解决方法1: 代码中不要包含中文内容
解决方法2: 取消beta/utf8编码选项, 然后卸载重新安装devcpp
xlings remove devcpp
xlings install devcpp

@woshihoujinxin 可以先用默认的配置
看前面按理你应该是应该添加环境变量了, 是自己修改了源码吗?

@woshihoujinxin 按理会自动添加环境变量的, 可以尝试重新运行安装命令进行覆盖, 如果还有这个提示可以把完整的安装log贴上来
@woshihoujinxin 目前mac上一些功能还没有适配, 现在适配最完整的是linux系统
@woshihoujinxin 有个默认的变量 XLINGS_HOME
就像xlings在安装软件的时候就做了相关信息的提示

如果你有疑惑, 可以继续留言
apache 2.0是可以商用的协议, 满足下面条件即可:
project auto backup by git-autosync (xscript
run in project root directory
step0: get this project / 获取项目
git clone https://github.com/Sunrisepeak/project-auto-backup.git
step1: install deps(git-autosync) & auto config / 安装依赖并自动配置
xlings install
- download xlings
- default sync project when 01:00 in everyday / 默认每天凌晨1点同步
step2: add your git url to .git-autosync / 添加git仓库url到.git-autosync文件
step3: manual sync / 手动同步 (可选)
git-autosync sync
**add sync task (option/default) **
git-autosync add . --time "* * * 1 *"
--tmie: [Week Month Day Hour Minute]
* * * 1 *: when 01:00 for everydayMon * * 1 *: when Mon's 01:00 for every weekget task list or log
git-autosync log
git-autosync list
@335582 可能是编码问题: http://forum.d2learn.org/post/597
按照下面这个帖子的步骤设置一下编码, 重启电脑。然后看看能不能解决
这里decltype 对结构化绑定的别名有个特殊处理 返回的 引用类型 是结构化绑定中特殊定义的, 不是传统认为的 引用类型, 指的是成员的声明类型, 除非成员是 T & 才会返回 T &


chain对象104, 3个对象中间asan插入了红区保护
通过内存布局看 [00] 的访问(size_)是在104最后32字节的, 但依然报错


并且非常奇怪的是, 插入crash代码(减少使用printf/cout 造成代码生成变化带来的干扰) 92可以执行到, 95行无法执行到

怀疑的地方
感觉可能是哪里的实现造成了UB, 导致 加几个printf 造成的代码生成不一样 错误也不一样了
本文介绍三种Dev-C++中/英配置及切换方法
在命令行窗口运行下面命令, 会自动下载配置好的中文版本。xlings开源工具: https://xlings.d2learn.org
xlings install devcpp@chinese

在devcpp第一次启动时, 会提示环境的配置选项, 在这里可以选择对应的语言

如果不小心错过第一次的语言配置, 可以通过工具栏重新配置



如果只是使用C++23, 不一定要使用import std/模块特性 (tbb目前本身没有支持/适配
目前来看tbb应该还没对 c++ module进行适配
tbb.h 和 import std在一个模块混用会报错
如果非要使用 import std功能的话 需要自己做一个 中间层 wrapper tbb的一些接口 ( 所有涉及tbb的功能在这个wrapper里实现 其他地方import 这个 wrapper 来使用功能) 但是这里面可能有不少坑 要踩
下面是一个最小示例
tbb.cppm
module;
#include <tbb/tbb.h>
#include <vector>
#include <iostream>
export module tbb;
export namespace tbb {
void init_vec(std::vector<int>& vec) {
if (vec.empty()) return;
tbb::parallel_for(0, static_cast<int>(vec.size()), [&](int i) {
vec[i] = i;
});
std::cout << "Vector initialization complete." << std::endl;
}
}
main.cpp
import std;
import tbb;
int main() {
std::vector<int> data(1000);
tbb::init_vec(data);
std::cout << "First 10 elements: ";
for (int i = 0; i < 10; ++i) {
std::cout << data[i] << " ";
}
return 0;
}
可以补充一下下面的信息: