Code Analysis for C/C++ is a useful static code tool for uncovering errors in unmanaged C++ code. In this chapter, you learned the basics of static code analysis and were presented with a broad overview of the unmanaged code analysis features of Team System. You also learned how to navigate and use Code Analysis for C/C++ from within Visual Studio 2005 Team Developer and command-line tools. Finally, you learned how to customize the tools and found out how the unmanaged code analysis portion of Team System integrates with Team Foundation Server.
What lies in store for unmanaged code analysis in the future? Microsoft is currently working on a unified, extensible compiler framework code-named "Phoenix," which provides a plug-in architecture to create analysis and optimization tools (such as PREfast or FxCop). Phoenix works with both managed and unmanaged code, supports high- and low-level Intermediate Representations (IR), and then outputs code in the format of your choice (.NET or unmanaged executables). You can learn more about Phoenix by visiting http://www.research.microsoft.com/phoenix/.
Now that you've identified the problems and defects in your code, you'll want to optimize it. Visual Studio 2005 provides a number of tools to assist you in the refactoring process, as discussed in the next chapter.