首页

致C++开发者:Codespaces更新  

Codespaces的变迁 5月份那会儿,我们官宣了Visual Studio Codespaces以及对C++开发者的早期支持。过去的几个月,我们和一些C++开发者做了深入的交谈,基于他们的反馈,我们对Codespaces进行了持续的改进并优化了使用体验。今天我们再次宣布:Visual Studio Codespaces目前已经迁移到GitHub Codespaces中。这次迁移意味着,当需要连...

有关调用约定的历史 – 第一部分

蝎子 有关x86平台上的调用约定,有意思的一点是:选择实在是太多了。 在16位的世界,部分的调用约定由指令集来确定:BP寄存器默认为SS选择器,而其他的寄存器则默认是DS选择器。所以,BP寄存器主要用来访问基于栈的参数。另外,用于返回值的寄存器也会根据指令集来被自动选择。AX寄存器被用作累加器,它也很自然地被用来返回值。 8086指令集同时也有一些比较特殊的指令来将DX:AX当做一个32位的值,这...

官宣:Visual Studio Code C++扩展1.0可用  

1.0版C++扩展释出 我们高兴的宣布:Visual Studio Code C++扩展的第一个GA(Generally Available)版本正式发布。Visual Studio Code是一个免费的代码编辑器,可以运行在Linux,macOS和Windows上,通过使用丰富的扩展,你可以以你希望的任何方式进行定制这款编辑器。 此次的Visual Studio Code C++扩展为广大C++...

说说VS2019 v16.8 预览版3中的一大波更新  

侦测到一大波的在途更新 对于C++开发者来说,Visual Studio 2019 v16.8 Preview 3引入了大量的更新,主要涵盖标准化,性能改进和生产力提升。下面,我们来看看。 C++20 我们从编译器,标准库和IDE等各个层面对主要的C++20特性的支持做了改进。现在你可以在同一个项目中,同时使用诸如Modules, Concepts, Coroutines和Ranges(部分支持)...

使用Visual Studio调试Linux Core Dump  

Linux Core Dump不再可怕 从Visual Studio 2019 v16.8 Preview 3开始,我们添加了在WSL(Windows Subsystem for Linux)或者远程Linux系统上进行Linux Core Dump的调试支持。这项支持仅针对非托管代码进行”本机”调试。 据我们所知的,有一些开发团队主要是在Windows开发他们的系统,但是...

特性完成:VS2019 v16.8全面支持C++协程  

一段往事 回首有关C++协程的往事,真是犹如一段十分漫长的旅程。 早在2013年,我们就官宣了一个有关”可恢复函数”的早期预览版本,接下来在2014年,我们添加了/await开关并提交了C++标准化建议的初始版本。2015年,我们提交了修订版本。后来,通过Visual Studio 2017和Visual Studio 2019,我们都在持续地跟踪有关协程TS(Techni...

官宣:MSVC新加入C11和C17标准  

官宣 我们很高兴的宣布,从Visual Studio 2019 v16.8 Preview 3开始,C11和C17这两个C语言版本将加入到MSVC编译器工具集(toolset)。 多年以来,Visual Studio仅仅是因为C++的需要才对C进行有限度的支持。现在,事情有转变了:我们在编译器中添加了一个基于token的规范化预处理器,借助于两项新加入的编译器开关:/std:c11和/std:c1...

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

蝎子 距离上一次我们分享C++20模块有关的更新,已经有一阵子了。在过去的一段时间,整个开发团队,保活工具集,项目系统和IDE团队都在努力工作,致力于为C++开发者提供超一流的C++20模块体验,那今天我们就来讲讲我们都做了些什么。坐稳了吗? 都有哪些新东西? /std:c++latest隐式包含C++模块 由于MSVC已经开始实现C++模块标准,工具集会在任何时候都强制使用/experiment...

老伙计,别太相信返回地址  

有些盆友曾经问过这么个问题 “通过Microsoft编译器扩展指令ReturnAddress,我可以轻易的知道代码执行流返回到调用者后的下一条指令的地址。那么,我怎样才能通过返回地址来确定它属于哪个DLL呢?” 要小心了 即使你知道这个返回地址属于哪个DLL(使用GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS...

为什么有些任务栏上的按钮一点就消失了

蝎子 有时候,你会发现这么一个现象:点击任务栏上的一个空白按钮后,这个按钮就消失不见了。这是为什么呢?在MSDN上,有一篇文章《some basic rules on which windows go into the taskbar》做了些介绍,简而言之: > 如果一个窗口设置了WS_EX_APPWINDOW风格,则它会显示在任务栏上。 > 如果一个窗口是顶级且未被拥有的,则它会显示...