AI Academy
促销
CodeGym University
学习
课程
任务
调查 & 测验
游戏
帮助
日程
社区
Users
论坛
聊天
文章
成功故事
动态
评价
订阅
浅色主题
课时
评论
关于我们
开始
开始学习
立即开始学习
我的进度
课程
任务地图
课程
C++
C++
级别 33
Toolchain: GCC/Clang/MSVC,标准与 C++23 支持
C++ SELF
等级 33,
课时 0
讲解在实践中 toolchain(编译器、链接器和标准库)由哪些部分组成、为什么以
C++23
模式由构建标志决定、如何通过
__cplusplus
检查实际的标准,以及“语言支持”和“库支持”有什么区别,如何使用 feature-test 宏(例如
__cpp_lib_print
)做可移植的检测。最后—一个打印 build info 的小练习和新手常见错误。
用一条命令完成编译和链接
C++ SELF
等级 33,
课时 1
解析为什么像
g++
main.cpp
-o
app
这样的命令“一次性完成所有工作”:driver 命令内部具体做了哪些步骤、为什么在构建多个文件时必须把所有
.cpp
列出来、如何通过诸如
error:
和
undefined reference
这样的信息区分编译和链接错误。另外巩固几条有用的习惯:始终指定
-std=c++23
,并通过
-o
指定输出文件名。
分离编译:-c、目标文件与链接
C++ SELF
等级 33,
课时 2
讲解如何从多个文件构建 C++ 项目:为什么需要选项
-c
,什么是目标文件
.o
,链接是如何工作的,为什么错误
undefined reference
几乎总是链接器的问题,以及如何通过流程
.cpp → .o → executable
在小项目
TextStats
上实现快速的增量重建。
编译器标志:
-std=c++23
,
-O0
/
-O2
,
-g
及警告
C++ SELF
等级 33,
课时 3
解析 C++ 的基本“构建契约”:如何通过
-std=c++23
固定语言标准,启用有用的警告(
-Wall
,
-Wextra
,
-Wpedantic
),在需要时用
-Werror
收紧构建,在线下调试友好(
-O0
+
-g
)和快速构建(
-O2-c
分别编译时如何对所有
.cpp
应用相同标志。
从终端构建的常见问题
C++ SELF
等级 33,
课时 4
我们分析从终端构建时最常见的故障:如何快速区分编译错误和链接错误,
header not found
是什么意思,以及如何正确使用
-Iinclude
,为什么会出现
undefined reference
,以及如何检查
.cpp
/
.o
列表、签名和
namespace
。最后 — 诊断清单和一组新手常见错误。
Please enable JavaScript to continue using this application.