Visual Studio 2022 Preview 使用 C++20 Module的详细过程

 更新时间:2021年09月22日 10:53:59   作者:孤雲独去闲  
这篇文章主要介绍了Visual Studio 2022 Preview 使用 C++20 Module的过程,本文通过项目分析实例代码相结合给大家介绍的非常详细,需要的朋友可以参考下

        作为C++20的一大特性,据说Module能够大大加快项目的编译速度,最近正好看到微软推出了Visual Studio 2022 预览版,随附了面向 C++20 的最新工具链,赶紧拿来体验一下。

        体验项目很简单,就两个小文件:

        1. hello.ixx

export module mo.hello.cpp;
 
export auto hello()
{
	return "hello cpp module";
}

        2. main.cpp

import mo.hello.cpp;
import std.core;
 
int main()
{
	std::cout << hello() << std::endl;
	return 0;
}

        结果编译报错,这错误比写的整个代码都长

         这是因为VS2022默认的C++语言标准还是C++14, 需要修改为最新的,在解决方案资源管理器中,右击项目,选择属性,进入属性设置页:

 在属性页中选择 配置属性 -- 常规 -- C++语言标准 -- 预览-最新C++

         应用后继续编译,这次出现了新的错误

        这次是因为----从2019版16.2 版的 Visual Studio,模块未在 Microsoft c + + 编译器中完全实现。 你可以使用模块功能创建单分区模块,并导入 Microsoft 提供的标准库模块。 若要启用对模块的支持,请使用 /experimental: module 和 /std: c + + 最新版本进行编译。 在 Visual Studio 项目中,右键单击 解决方案资源管理器 中的项目节点,然后选择 "属性"。 将 配置 下拉设置为 "所有配置",然后选择 "配置属性" " > c/c + + > 语言" " > 启用 c + + 模块 (试验性)----从2019试验到2022了,还没试验完呢,设置一下吧

         应用后再次编译,成功了!!!

到此这篇关于Visual Studio 2022 Preview 使用 C++20 Module的文章就介绍到这了,更多相关Visual Studio 2022 Preview 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C语言结构体数组的定义和使用详解

    C语言结构体数组的定义和使用详解

    结构体中也有数组,称为结构体数组。它与数值型数组几乎是一模一样的,只不过需要注意的是,结构体数组的每一个元素都是一个结构体类型的变量,都包含结构体中所有的成员项。本文将带大家详解了解结构体数组的定义与使用
    2021-12-12
  • C语言函数超详细讲解上篇

    C语言函数超详细讲解上篇

    函数是一组一起执行一个任务的语句。每个 C 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数,函数我们分两篇来讲解,接下来开始第一篇
    2022-04-04
  • C语言系列之推箱子游戏

    C语言系列之推箱子游戏

    这篇文章主要为大家详细介绍了C语言系列之推箱子游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • ESP32CAM摄像头图像实时传输的配置详解

    ESP32CAM摄像头图像实时传输的配置详解

    这篇文章主要介绍了ESP32CAM摄像头图像实时传输,本文通过截图示例代码相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • C++ opencv利用grabCut算法实现抠图示例

    C++ opencv利用grabCut算法实现抠图示例

    这篇文章主要为大家介绍了C++ opencv利用grabCut算法实现抠图的代码示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • C++深入分析讲解智能指针

    C++深入分析讲解智能指针

    为了解决内存泄漏的问题,C++中提出了智能指针。内存泄漏的产生原因有很多,即使我们正确的使用malloc和free关键字也有可能产生内存泄漏,如在malloc和free之间如果存在抛异常,那也会产生内存泄漏。这种问题被称为异常安全
    2022-05-05
  • 浅析C/C++变量在内存中的分布

    浅析C/C++变量在内存中的分布

    变量在内存地址的分布为:堆-栈-代码区-全局静态-常量数据。同一区域的各变量按声明的顺序在内存的中依次由低到高分配空间(只有未赋值的全局变量是个例外)
    2013-09-09
  • Qt物联网管理平台之实现告警短信转发

    Qt物联网管理平台之实现告警短信转发

    系统在运行过程中,会实时采集设备的数据,当采集到的数据发生报警后,可以将报警信息以短信的形式发送给指定的管理员。本文将利用Qt实现告警短信转发,感兴趣的可以尝试一下
    2022-07-07
  • 一文搞懂c++中的std::move函数

    一文搞懂c++中的std::move函数

    这篇文章主要介绍了c++中的std::move函数,在探讨c++11中的Move函数前,先介绍两个概念(左值和右值),对c++ std::move函数相关知识感兴趣的朋友一起看看吧
    2022-07-07
  • C语言植物大战数据结构希尔排序算法

    C语言植物大战数据结构希尔排序算法

    这篇文章主要为大家介绍了C语言希尔排序算法实现植物大战示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05

最新评论