CodeGym
AI Academy
促销
CodeGym University
学习
课程
任务
调查 & 测验
游戏
帮助
日程
社区
Users
论坛
聊天
文章
成功故事
动态
评价
订阅
浅色主题

课时

  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 我的进度
  • 课程
  • 任务地图
  • 课程
  • 构建阶段:preprocessing → compile → link

    C++ SELF
    等级 30,课时 0
    解析 IDE 中“Run”按钮真正做了什么:预处理器如何展开 #include 和宏( #define, #if),编译器如何把每个 .cpp 变成目标文件( .o/ .obj),以及链接器如何把一切粘合成可执行文件,寻找(或未能找到)符号的定义。过程中引入了 translation unit 概念,并把它与常见的构建错误和 ODR 联系起来。
    可用
  • 编译错误 vs 链接错误

    C++ SELF
    等级 30,课时 1
    解析 C++ 中 compile error 与 link error 的区别:问题在哪个阶段出现,为什么编译器只需要声明而链接器需要定义,以及如何在 10 秒内根据日志中的单词 expected、 was not declared、 undefined reference 和 multiple definition 来分类。以小型项目 TaskBox 为例,展示典型场景:遗漏的 ;、缺失的 #include、没有参与构建的 .cpp 以及签名不匹配导致的问题。
    可用
  • Warnings: 为什么它们是未来的 bug

    C++ SELF
    等级 30,课时 2
    我们分析为什么编译器的警告在 C++ 中不是“噪音”,而是对未来错误的早期信号:不明显的意图、类型边界的风险(signed/unsigned)、可能导致数据丢失的隐式转换、可疑的条件( = 而不是 ==),以及通过 [[nodiscard]] 忽略重要结果。通过一个活生生的示例 TodoLite 学习如何不慌不忙地阅读警告并修复它们,使代码意图变得明确。
    可用
  • 警告策略: “warnings as errors”

    C++ SELF
    等级 30,课时 3
    解析为什么应将 C++ 编译器的警告视为潜在故障的早期信号,以及“ warnings as errors”做法如何工作:如何处理 unused变量和参数(包括使用 static_cast < void > 的做法)、如何避免在使用 std::size_t 遍历时出现的 signed/ unsigned 陷阱,以及为什么应有意处理隐式转换(例如 double → int)。最后 —— 给出 MiniTracker 的示例、mermaid 构建流程图以及引入严格策略时常见错误的解析。
    可用
  • 迷你诊断工具箱:打印、assert、日志消息

    C++ SELF
    等级 30,课时 4
    一组用于快速调试 C++ 控制台程序的实用方法:将“正确输出”和通过 std::cout/ std::cerr 的诊断分开,使用 assert 检查内部契约,通过 log_debug/ log_error 函数与开关 ENABLE_DEBUG_LOGS 整理消息。所有示例都在教学应用 MiniTasks 中演示,并辅以短循环“假设 → 验证 → 修正”。
    可用
Learn
  • 注册
  • Java 课程
  • 任务帮助
  • 定价
  • Java 语法
社区
  • 用户
  • 文章
  • 论坛
  • 聊天
  • 成功故事
  • 动态
  • 联盟计划
Company
  • 关于我们
  • 联系方式
  • 评价
  • 媒体中心
  • CodeGym for EDU
  • 常见问题
  • 支持
CodeGymCodeGym 是一个从零开始学习 Java 编程的在线课程。该课程是初学者掌握 Java 的完美方式。它包含 1200+ 个带即时验证的任务,以及必要的 Java 基础理论。为了帮助你在学习中取得成功,我们实现了一系列激励功能:测验、编码项目、关于高效学习的内容,以及 Java 开发者职业相关内容。
关注我们
界面语言
English Deutsch Español हिन्दी Français Português Polski বাংলা
简体中文
मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
“程序员是培养出来的,不是天生的” © 2026 CodeGym
MastercardVisa
“程序员是培养出来的,不是天生的” © 2026 CodeGym