C++ Team Blog
The latest in C++, Visual Studio, VS Code, and vcpkg from the MSFT C++ team
Latest posts
Some VS2005 and VS2008 Wizards Pop Up Script Error.
Visual C++ team has discovered that after installing the current release of Internet Explorer (Internet Explorer 8), some VC++ wizards do not function correctly. The products affected are Visual Studio 2005 and Visual Studio 2008. Following are the affected wizards:- Add Function- Add Variable- Smart Device – New Project Creation- Smart Device – Add Class Invoking any of t...
Repackaged VC9 SP1 Hotfix For The vector<function<FT>> Crash
Back in December, I blogged about a hotfix for the vector<function<FT>> crash in VC9 SP1. An observant reader, User, commented that the hotfix had been packaged incorrectly. We've fixed this problem, and you can now download the repackaged hotfix. Stephan T. LavavejVisual C++ Libraries Developer
GS
My name is Hongwei Qi and I am a Software Design Engineer in Test on the Visual C++ compiler code generation team. In this post I want to share with you the enhancements planned for the GS feature in Visual Studio 2010. Evolution of GS A lot of code written in C and C++ has vulnerabilities that leave their users open to buffer overrun attacks. There are two major reasons for this. One reason is that the languages provide unfettered access to the vulnerable memory; the other reason is that developers make mistakes. The simple fact is that even following the best practices and performing quality checks, ...
Performance Tests
Hello everyone, I’m Asmaa Taha; I’m a test developer in the Visual C++ compiler optimization test team.Our Team has various testing systems that automate the testing and reporting processes to convey the state of the product to our feature teams. Some of them are useful in automating the feature testing we have for the compiler (and making them go faster!). Others are useful in automating building real world code like Windows using the latest versions of our compiler in our labs. Last but not least, we have automation to measure the performance of our compiler.In this blog I will mainly talk about the...
Testing VC++ Compiler and Intellisense
Hello,My name is Rashid Sarwar and I am on Visual C++ Compiler Front End team. I have been on this team for several months and have learned many things on how to test a complier. In this post I will be sharing with you how we test our Visual C++ compiler and it’s Intellisense. Testing features in a compiler is not easy as each feature/construct can interact with the already existing features/constructs in many different ways. Coming up with all the possible cases in which the new construct can be used is a big task as the Visual C++ compiler has many features, starting from standard C++ language featur...
Visual C++ Development Laboratory – May 4th through 8th, 2009
Hello, As you know, we love to come and visit our customers every chance we get (PDC, TechEd and various country tours), but this time we thought we would do something at our place. We are running a Development Laboratory here in Redmond from May 4th through 8th (this definitely does not preclude people from outside Redmond participating however we will not be covering your travel expenses.) Now, what’s a DevLab? Well, essentially developers come to the Platform Adoption Center and bring their projects and source code. We work closely to port their code, file bugs when they hit issues, and...
Quick Tips On Using Whole Program Optimization
Hi, I’m Jerry Goodwin from the Visual C++ code generation and optimization team, with a couple quick tips on using Whole Program Optimization, also referred to as Link Time Code Generation (LTCG). If you’re writing native C++ code, you can typically speed up your optimized code by about another 3-4% by adding the /GL flag to your compiles. This flag tells the compiler to defer code generation until you link your program. Then at link time the linker calls back to the compiler to finish compilation. If you compile all your sources this way, the compiler optimizes your program as a whole rat...
MFC Restart Manager Support in VS2010
Hi, I am Weidong Huang, a Software Design Engineer in Test in the Visual C++ group. Today I am going to talk about MFC’s support of Restart Manager functionality -- a very amazing feature in VS2010. What is Restart Manager? Restart Manager is a new feature introduced by Microsoft’s Windows Vista operating system. It can help applications maintain their data when an update needs to shutdown the application or when an unexpected software error or crash occurs. Instead of shutting down abnormally, Restart Manager enables an application to perform an application save before it is terminated. F...
Rvalue References: C++0x Features in VC10, Part 2
Part 1 of this series covered lambdas, auto, and static_assert. Today, I'm going to talk about rvalue references, which enable two different things: move semantics and perfect forwarding. This post will be long, because I'm going to explain how rvalue references work in great detail. They're initially very confusing because they distinguish lvalues from rvalues, which very few C++98/03 programmers are extensively familiar with. Fear not, for using rvalue references is easy, much easier than it initially sounds. Implementing either move semantics or perfect forwarding in your own code boils down to foll...