服务粉丝

我们一直在努力
当前位置:首页 > 科技 >

面向C++模块的开源 IFC SDK

日期: 来源:漫漫开发路收集编辑:漫漫开发路

早在 VS2019 v16.10 版本的时候,我们就官宣了对 C++ 模块(以及几乎所有其他 C++ 20 特性)的全面支持,包括 MSVC 编译器工具集,静态分析,智能感知和调试器等,而实现模块需要将 C++ 代码实现为一种内部的临时表示形式。

今天,我们高兴地宣布将 IFC SDK 开源,它是 Microsoft 对 IFC 规范的一个实现。IFC 规范将 C++ 程序形式化为适合基于语义操作的数据。我们开源 IFC SDK 的目的是,希望加速 C++ 模块在 C++ 社区和 C++ 工具生态系统中的广泛使用和实施。

什么是 IFC 以及它的作用是什么?

C++ 模块接口(或头单元)源文件的一种常用编译策略是将源文件(恰好一次)转换为适合在其他源文件中重用的内部表示形式。这种中间形式通常称为构建模块接口(BMI)。IFC文件则是 BMI 概念的实现。IFC 文件是与 C++ 程序的语义有关的所有信息的持久性表示。

除了编译器直接使用C++模块外,还可以通过非编译器工具检查 IFC,以便对C++源文件进行基于语义的探索。这些工具对于探索者了解如何以适合 C++ 模块实现的形式表示 C++ 源代码级构造非常有用。

IFC SDK 的使用

IFC SDK 目前是一个实验项目。它侧重于提供支持 IFC 文件读写的数据类型和源代码。此 SDK 与 MSVC 编译器前端中用于实现 C++ 模块的经过测试的实现相同。这些数据类型可以直接进行内存映射,以实现可扩展和高效的处理。该项目还具有用于格式化或查看 IFC 文件的实用程序。我们欢迎并且正在寻找能够弥补SDK和规范之间差距的贡献,以及支持从 C++20 及更高版本开始的 C++ 标准所需的更改。

总结

继续老老实实使用传统 C++ 头文件和类,除非有一天 C++ 模块更合适我的项目。我是一个既开放又保守的开发人。

最后

Microsoft Visual C++团队的博客是我非常喜欢的博客之一,里面有很多关于Visual C++的知识和最新开发进展。大浪淘沙,如果你对Visual C++这门古老的技术还是那么感兴趣,则可以经常去他们那(或者我这)逛逛。本文来自:《Open Sourcing IFC SDK for C++ Modules》

相关阅读

  • 5GETF(515050)盘中火箭发射!新易盛、梦网科技涨超7%

  • 9月11日下午开盘,光模块(CPO)概念二度拉升!受梦网科技、光迅科技、新易盛、天孚通信、新易盛、中科创达等权重股带动,5GETF(515050)盘中直线冲高,涨3%!近5个交易日,5GETF(515050)获得资

热门文章

  • 解码“新IT”的5个特征和3大价值

  • 党的二十大报告提出,要加快发展数字经济,促进数字经济和实体经济深度融合,打造具有国际竞争力的数字产业集群。在数字经济与实体经济深度融合的产业浪潮中,以智能设备、边缘计算
  • OPPO k1的低价高配真实么?网友:不看不知道

  • 近日OPPO一款新机OPPO k1,摒弃了高价低配,就连自家老大哥r17都要怼一下。更是放弃了请代言人,以往的OPPO手机还没出来,各路流量小生,花样美男的代言就先来了。还有线下销售人员的
  • 一招教你手机无限制成为一台新设备

  • 大家平时用手机去注册app,肯定会遇到检测设备异常,交易关闭,等问题 这个都是手机已经不止1-2次注册过此app,不断更换手机仅是一个暂时的方法,却不是长久之计,手机总归会用完
  • 从零开始如何开网店

  • 随着互联网的高速发展,人们的生活发生了翻天覆地的变化,生活节奏越来越快,网购已经成为家家户户生活中离不开的一种购物方式了。网购的发展使得越来越多的人想要涉足电商事业,那

最新文章

  • 面向C++模块的开源 IFC SDK

  • 早在 VS2019 v16.10 版本的时候,我们就官宣了对 C++ 模块(以及几乎所有其他 C++ 20 特性)的全面支持,包括 MSVC 编译器工具集,静态分析,智能感知和调试器等,而实现模块需要将 C++
  • 阿拉伯议会就巴以局势等问题召开会议

  • 当地时间10月14日,阿拉伯议会第三届立法任期第四次会议第一次全体会议在阿拉伯国家联盟总部所在地开罗召开。会议由阿拉伯议会议长欧舒米主持,主要讨论巴以局势以及阿拉伯世界