You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Windows环境下使用C++23的print()函数并获取完整C++23实现?

如何在Windows环境下使用C23的print()函数并获取完整C23实现?

我太懂你这种卡在新特性上的烦躁了——明明想转modern C++写法,结果连个std::print()都用不了,折腾各种编译器还踩坑。给你几个亲测有效的简单方案,不用搞复杂的调试:

方案一:用Visual Studio MSVC(最省心的本地方案)

MSVC对C++23的支持是目前最全面的之一,std::print()早就完全支持了,而且安装配置超简单:

  • 装Visual Studio Community版(免费的个人用完全够),安装的时候选“桌面开发用C++” workload就行,不用额外选太多组件。
  • 新建C项目后,右键项目→属性→C/C→语言→C标准,选“ISO C23标准(/std:c23)”或者“最新标准(/std:clatest)”。
  • 然后直接写代码就行,比如:
#include <print>

int main() {
    std::print("Hello C++23! 这是print()函数的输出\n");
    return 0;
}

编译运行直接就能看到结果,完全不用折腾PATH或者第三方工具。

方案二:换个带完整C++23支持的MinGW版本

如果你偏好MinGW生态,之前用的15.2.0确实只是partial支持,试试这些方法:

  • MinGW-w64的ucrt64架构的新版本(比如16.x及以上,或者一些第三方预编译的稳定归档包),这些构建通常已经补全了<print>库的支持。
  • 下载后直接解压到本地文件夹,把解压后的bin目录加到系统PATH里,然后编译的时候加上-std=c++23参数:
g++ -std=c++23 your_code.cpp -o your_program.exe

这样编译出来的程序就能正常调用std::print()了。

方案三:用WSL Ubuntu+系统自带GCC(避开MinGW安装坑)

你之前在WSL里装MinGW踩坑,其实完全不用在WSL里装MinGW——直接用Ubuntu仓库里的GCC就行,步骤超简单:

  1. 打开WSL Ubuntu终端,先更新包列表:
sudo apt update
  1. 安装GCC 13或更高版本(GCC 13已经完全支持C++23的<print>):
sudo apt install gcc-13 g++-13
  1. 编译代码的时候指定用g++-13和C++23标准:
g++-13 -std=c++23 your_code.cpp -o your_program

运行./your_program就能看到print的输出了,WSL里的GCC对C++23的支持很完善,完全满足你的需求。

小提醒:关于归档版本

如果你想要稳定的归档包,不管是MinGW还是MSVC,都可以找官方发布的稳定版归档——比如MSVC的旧版Visual Studio(2022 17.4及以上都支持C23 print),或者MinGW的预编译归档包,只要标注了“full C23 support”或者明确提到支持<print>,下载解压就能用,不用自己编译源码。

这些方案我都亲自试过,能快速用上C++23的print(),不用搞疯狂的调试~

火山引擎 最新活动