C++ Team Blog
The latest in C++, Visual Studio, VS Code, and vcpkg from the MSFT C++ team
Latest posts
Memory Profiling in Visual C++ 2015
As announced in an earlier blog post, Visual Studio 2015 hosts a new set of memory profiling tools to help address and fix memory issues within your applications. The new debug-time profiler runs during your debugging session and allows you to take snapshots anytime, such as at a breakpoint, and also view the heap contents during the current debugger break state. This provides for a more precise and flexible experience when trying to analyze the heap state of your app. Getting Started Upon firing up the debugger for the first time in VS2015, you are presented with the new Diagnostics Tools...
Do You Prefer Fast or Precise?
What is this Blog About? My name is Jim Hogg, a Program Manager in the Compilers team. We would like your feedback on a feature of the Visual C++ compiler that affects the code we generate for floating-point operations. Your answers will help determine what we do. You can vote via survey -- it should not take you more than a few minutes to fill out! OK, I'm Still Reading . . . The C and C++ languages let you declare variables of type float or double. We call these “floating-point” types. And the Visual C++ compiler lets you specify how it should treat calculations involving these floating-point variab...
/Debug:FASTLINK for VS2015 Update 1
We have made some changes with respect to /DEBUG:FASTLINK starting with Visual Studio 2015 Update 1 CTP. /DEBUG:FASTLINK is aimed at improving link times for the incremental developer loop inside Visual Studio and for medium to large size projects provides ~2x gains. The linker is currently involved in the PDB generation process and merging of type information, fixing up private symbol's type indexes, and generating global symbols are major time components in PDB generation. With /DEBUG:FASTLINK the linker produced PDB doesn't have any private symbol, and debug information is distributed among ...
Debug Visualizers in Visual C++ 2015
When debugging your native applications, it is often useful to view the values of the objects in memory in a specific way, whether that be with custom string formatting, or even performing an operation on the data to make it more meaningful and easy to interpret. Since VS2012, Visual Studio had provided the .natvis visualizer format for declaring custom visualizations for different C/C++ types. Visualized types change the way objects are shown in the native expression evaluator which populates the watch and variable windows, as well as debug data tips. For additional information on the expressio...
Rejuvenating the Microsoft C/C++ Compiler
点这里看中文版 Our compiler is old. There are comments in the source from 1982, which was when Microsoft was just starting its own C compiler project. The comments of that person (Ralph Ryan) led me to a paper he published in 1985 called “The C Programming Language and a C Compiler”. It is an interesting read and some of what he describes is still reflected in the code today. He mentions that you can compile C programs with two floppy drives and 192K of RAM (although he recommends a hard drive and 256K of RAM). Being able to run in that environment meant that you couldn’t ...
The Visual C++ team is at CppCon 2015
Are you in town to attend CppCon this week? It's going to be an exciting week in C++ and especially exciting for the Visual C++ team! We've got a dozen talks scheduled that discuss everything from the ideas we're proposing to help move the language forward to amazing new functionality we're adding in Visual Studio.Visual Studio 2015 includes a bunch of new functionality that will make you more productive whenever you write code. Steve Carroll and Ayman Shoukry cover what's new in VC++ early on Thursday morning. Ankit Asthana and Marc Gregoire will update us on the support for cross-platform mobile development in ...
C++ Packaging Technology Survey
Another Friday, another survey.We get it. Surveys can be annoying (but not our survey). But they can also be a good way to help us understand larger patterns around a feature, scenario or experience. Hence the onslaught of surveys (including this survey). We do promise to share some of our insights from the data -- common themes and challenges -- in the near future.This survey is about packaging technology. For those of you attending CppCon next week,take the survey while waiting for your flight. Or car. Or elevator. Or the next speaker.If you have suggestions for our surveys (survey!), let us know in the comment...
Not Using Visual Studio 2015?
We would love to know more.(Yes, it is a survey and no, it should not take more than 15 minutes and yes, we would love for you to opt-in and share your experiences!)
New in VS 2015: Expanded PGO Options
We’ve blogged before about the benefits of Profile Guided Optimization. One of the biggest pieces of feedback we’ve received is that the instrumented binaries are too slow – making it very difficult to train certain classes of applications, such as games.This is something we’ve tried to address in VS 2015 – there were a bunch of behind the scene changes to code generation of the instrumented binary and the associated PGO runtime to increase runtime performance and minimize the overhead of the instrumentation. We’ve seen up to a 30% throughput increase in some scenarios. Everyon...