C++ Team Blog

The latest in C++, Visual Studio, VS Code, and vcpkg from the MSFT C++ team

Latest posts

Linker throughput
Sep 10, 2009
Post comments count 0
Post likes count 0

Linker throughput

Visual CPP Team
Visual CPP Team

Hello, my name is Chandler Shen, a developer from the Visual C++ Shanghai team.We have made some changes in the upcoming Visual C++ 2010 release to improve the performance of linker. I would like to first give a brief overview of the linker and how we analyze the bottlenecks of current implementation. Later, I will describe the changes we made and the impact on linker performance.Our Focus We were targeting the linker throughput of large scale projects full build scenario because this scenario matters most in linker throughput scalability. Incremental linking and smaller projects will not benefit from the wo...

Compiler Warning C4789
Sep 1, 2009
Post comments count 0
Post likes count 0

Compiler Warning C4789

Visual CPP Team
Visual CPP Team

When Visual Studio 2010 ships, it will have improvements to warning C4789; allowing it to catch more cases of buffer overrun. This blog post will cover what C4789 warns about, and how to resolve the warning.What does C4789 mean? When compiling your source file, you may receive the warning: “warning C4789: destination of memory copy is too small.”This message means that the compiler has detected a possible buffer overrun in your code.Example 1Let’s say we have the source file a.cpp that contains the following:1: #include <memory.h>2:3: int p[1];4:5: void bar() {6:   &nbs...

Windows SDK V7.0/V7.0A Incompatibility Workaround
Aug 27, 2009
Post comments count 0
Post likes count 0

Windows SDK V7.0/V7.0A Incompatibility Workaround

Visual CPP Team
Visual CPP Team

Hi,My name is Nada AboElseoud and I am a QA in VC++ Libraries team. I joined MS in February 2009. I would like to talk here about an incompatibility issue with WinSDK v7.0*.If you are a developer who has recently migrated to WinSDK v7.0 (standalone SDK) or v7.0A (inbox with VS 2010), you may encounter these kinds of errors “The procedure entry point K32*** could not be located in the dynamic link library KERNEL32.dll” while running your application.  This implies that you are running your application on an OS other than Windows7 or Windows Server 2008 R2. This blog will explain this blocking issu...

Tag Parsing C++
Aug 12, 2009
Post comments count 0
Post likes count 0

Tag Parsing C++

Visual CPP Team
Visual CPP Team

Hello, my name is Thierry Miceli and I am a developer on the Visual C++ Compiler Front End team. Although our team is mostly known for writing and maintaining the part of the C++ compiler that analyzes your source code and builds an internal representation from it, a great deal of our effort in the last few years has been directed into servicing the IDE and improving the intellisense experience (refreshers here, here, and here).Today, I am going to write about a new parser that has been specifically created to provide a fast and scalable way to extract information from C++ source code. This parser is one of our n...

Active Template Library (ATL) Security Updates
Aug 5, 2009
Post comments count 0
Post likes count 0

Active Template Library (ATL) Security Updates

Visual CPP Team
Visual CPP Team

Hello, On Tuesday 28 July  we released guidance and updates to assist developers using our Active Template Library (ATL) to prevent creating controls or components with potential security vulnerabilities.  Vulnerabilities in libraries are a rare, but industry wide issue, that requires broad collaboration and action by the community at large to effectively resolve.   Developers who have built controls using the ATL should take immediate action to review their control to identify if it is vulnerable and take appropriate action to rebuild their control using the updated ATL library and distr...

Linker warning LNK4221, and some tips to avoid it
Jul 21, 2009
Post comments count 0
Post likes count 0

Linker warning LNK4221, and some tips to avoid it

Visual CPP Team
Visual CPP Team

Hello, my name is Chandler Shen, a developer from Visual C++ Shanghai team. There is some confusion about warning LNK4221 and whether it is safe to ignore it. I would like to give an explanation on when you may encounter this warning and provide tips for some typical scenarios and workarounds. What does LNK4221 mean?   When building static/import libraries, linker might emit the following message: “warning LNK4221: no public symbols found; archive member will be inaccessible” (The message will be improved in VS2010 to ”warning LNK4221: This object file does not define any previously undefined public symbols,...

Intellisense and Browsing with C++0x
Jul 13, 2009
Post comments count 0
Post likes count 0

Intellisense and Browsing with C++0x

Visual CPP Team
Visual CPP Team

Hello Everyone, My name is Sunny Gupta and I am a SDET on VC++ IDE & Compiler team. In this blog I will be talking about the IDE support for Cpp0x. What is C++0x??C++0x is the name for the next version of the C++ Programming Language Standard.  For VC 10, the C++ 0x features that have been implemented in the compiler so far are “auto”, “lambdas”, “rvalue references”, “decltype”, “nullptr” and “static_assert”.Details about these can be read from:·          Lambda-auto-static_ass...

VC++ Directories in Visual Studio 2010
Jul 8, 2009
Post comments count 0
Post likes count 0

VC++ Directories in Visual Studio 2010

Visual CPP Team
Visual CPP Team

If you recently started using VS2010 and were wondering what happened to Tools > Options > Projects and Solutions > VC++ Directories UI, Brian Tyler has all the details in his new post on the VSProject blog. Check it out here: http://blogs.msdn.com/vsproject/archive/2009/07/07/vc-directories.aspx.We hope you’ll enjoy the new approach and adopt its new capabilities. Don’t hesitate to send us your feedback. Thank you,Visual C++ Team

X64/Itanium platforms missing when Win7 SDK RC installed sidebyside with VS2008 RTM
Jul 1, 2009
Post comments count 0
Post likes count 0

X64/Itanium platforms missing when Win7 SDK RC installed sidebyside with VS2008 RTM

Visual CPP Team
Visual CPP Team

If Win7 SDK (RC) is installed SidebySide with Visual Studio 2008 RTM before Visual Studio 2008 SP1 is installed, x64 and Itanium platform will not be available from the New Platform drop-down list. Build targeting x64 and Itanium will also fail. To work around the issue, please refer to this post.  Note that the issue has been fixed in Win7 SDK RTM.Thank you,Visual C++ Team