首页

Visual Studio Code更新:Doxygen风格注释及非阻塞调试  

7月更新出炉 Visual Studio Code C++扩展7月更新正式出炉。在这个最新版本中,我们增加了丰富的新功能,比如Doxygen注释的可视化,使用GDB/LLDB调试时的非阻塞断点(Logpoints),另外还有一些现有功能的增强及问题修复。 显示Doxygen风格的注释 Doxygen用来为源代码生成标准注释文档的编程工具。你可以在为函数编写注释的时候加上一些有用的提示,然后Doxy...

第一次肉眼可见的对C++20 Ranges的支持

今儿个,咱们十分高兴 Visual Studio 2019 v16.6正式开始支持C++20 Ranges。 我们已经针对系统支持的部分开发了一些版本,这些虽然很重要,但是用户看不到它们的存在。 但是在此版本中,冰山一角终于打破了水面,现在终于可以有一些工具供用户使用了。 Ranges的实现严格取决于C++ Concepts, 因此MSVC和Clang均可在其C++ 20的预览模式下使用,但尚未得...

使用Visual Studio开发C++应用:增量编译和Shell支持  

两项功能改进 Visual Studio 2019可以支持开发者在单一集成开发环境(IDE)下开发面向Windows和Linux(包括Windows Subsystem for Linux)的应用。 Visual Studio 2019 v16.7 Preview 3进一步在Linux开发中引入了两项新的特性: 1) 针对MSBuild Linux工程的增量编译优化。 2) 增加了更加广泛的Lin...

关于写一个排序函数需要注意的

基本原则 当你想写一个排序函数用在ListView_SortItems这样的方法中,或者写一些小玩意来实现IComparer的时候,需要注意排序函数需要遵循以下几个基本原则: > 反身性:Compare(a, a) = 0 > 反对称性:Compare(a, b)必须完全和Compare(b, a)符号相反,其中,0值的符号取反被认为是0本身。 > 传递性:如果Compare(a...

使用C++ Build Insights对模板代码进行性能分析  

C++中的模板编程 在C++程序中使用模板有时会导致很长的编译时间。C++ Build Insights可以提供一些工具,用来分析模板使用模式(template usage patterns)及其对编译时间的相关影响。 在本文中,我们将演示如何使用vcperf分析工具和C++ Build Insights SDK来理解和修复有问题的模板模式。我们通过一个案例研究证明了这些工具的实际使用,在该案例中...

微软开发者大会(Build 2020)将在线上举行

终于来了 微软开发者大会定于5月19日周二举行,它将持续48小时,并且,与以往不同的是,今年的开发者大会将全部在线上举行。本次会议对全球观众开放,观众无需支付任何费用。 这是第一次全面进行了数字化处理的大型技术会议,我们针对参会的虚拟观众的体验进行了全新的设计。 C++团队很高兴能参加此次盛会,我们希望你也可以参加进来。在这次会议上,我们将会演示我们的团队成员目前所做出的工作成果。我们在微软的合作...

Visual Studio Code C++扩展可用: 2020年5月更新  

官宣 Visual Studio Code C++扩展5月更新正式发布。在这次的最新版本中,有很多全新的特性新鲜出炉了。包括,ARM/ARM64 IntelliSense模式和C++代码的折叠,另外还有一大波的性能优化和Bug修复。下面我们具体来看看。 ARM/ARM64 IntelliSense模式 从2020年5月更新开始,当你面向ARM和ARM64做交叉编译时,你可以配置C++扩展使之可以提...

善用预编译PCH文件提升编译速度  

对于大型工程,PCH的确是个好东西 一直以来,预编译PCH文件都被证明是一个提升编译速度的好方法。通过PCH,可以在编译开始时仅包含头文件一次,这样避免了对某些经常会使用到的头文件的重复扫描,从而大大提升了编译速度,减少了整个工程的编译时间。 从传统的角度来说,将一个头文件选择作为预编译头文件有点像是一个猜谜语的游戏,你会觉得有些头文件应该被预编译,而有些在你看来不需要,并且,每个人对相同的头文件...

vcpkg更新及产品路线图  

蝎子 vcpkg是一套跨平台,开源的C/C++库管理器,今天的这篇文章是有关vcpkg主题的2020年4月博文更新。在这篇文章中,我们将分享有关vcpkg 2020.04发布版本的一些信息以及vcpkg的路线图(roadmap),我们会在这里持续地发布有关vcpkg的最新消息。 vcpkg三月活动 首先我们想感谢所有vcpkg项目的贡献者们。在过去的三月份里,下面的所有人贡献了PR并被合并到项目的...

使用C++ Build Insights找到编译过程中的瓶颈  

找到编译时间的瓶颈 C++ Build Insights提供了多种分析C++编译时间的方法。在本文中,我们将会讨论可用来识别编译过程中的瓶颈的两种方法: 1) 使用vcperf工具进行手动分析。 2) 使用C++ Build Insights SDK以程序化的方式进行分析。 我们提供了一个案例研究,展示了如何使用这些工具来加快Git for Windows这一开源项目的编译速度。我们希望这些教程在...