c++预编译头文件与模块



我对预编译头和模块之间的区别感到困惑。一个比另一个有什么优势?我已经阅读了这两种软件的微软文档,但没有多大帮助。

  • 预编译头文件
  • <
  • 模块/gh>

模块的一个优点是它们是一个标准特性。所有c++ 20编译器都必须按照语言中描述的方式实现它们。预编译头文件不是标准特性。并不是所有的编译器都必须有这个特性,并且每个编译器都以自己的方式实现它们,而这些方式不一定与其他编译器兼容。

模块相对于头文件的一个优点是它们封装了宏。头文件的一个(很少有用的)优点是它们可以"导出"。宏。

模块相对于头文件的一个优点是,您可以显式控制导出的名称,这允许封装实现细节。

在撰写本文时,模块的一个缺点是到目前为止只有MSVC完全实现了它们。

相关内容

  • 没有找到相关文章

最新更新