当前位置:   article > 正文

进度更新:VS2019 v16.8中对C++20模块的支持_c++20 模块 msvc

c++20 模块 msvc

蝎子

距离上一次我们分享C++20模块有关的更新,已经有一阵子了。在过去的一段时间,整个开发团队,包括工具集,项目系统和IDE团队都在努力工作,致力于为C++开发者提供超一流的C++20模块体验,那今天我们就来讲讲我们都做了些什么。坐稳了吗?

都有哪些新东西?

/std:c++latest隐式包含C++模块

由于MSVC已经开始实现C++模块标准,工具集会在任何时候都强制使用/experimental:module编译开关。因为模块已经被正式移入到C++20,编译器团体做了大量的工作,终于将模块合并到了/std:c++latest中。

关于/std:c++latest有如下需要注意的点
> /std:c++latest现在隐式包含/permissive-。这意味着:当前依赖于编译器的许可行为与/std:c++ latest结合使用的客户现在必须在命令行上应用/permissive。注意:启用/permissive将会禁用模块。
> 现在,模块已转换为最新的语言模式,由于模块和导入被转换为关键字,因此某些代码可能会无法工作。
我们已经记录了一些常见方案。 MSVC所实现的文件转换模块和导入到关键字有更多方案,请参考P1857R1。
> Visual Studio附带的标准的std*模块不能单独通过/std:c++latest来使用。标准库模块尚未标准化,因此仍处于试验阶段。要继续使用标准库模块,请使用/experimental:module作为其命令行选项的一部分。

专用模块片段

C&#

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/214311
推荐阅读
相关标签
  

闽ICP备14008679号