VC++ Project/Build system improvements

In the past, the capability to reason about the build process at very granular levels has been challenging for large C++ projects. With VS 2010, VC++ will ship with an updated project/build system that, like all other .NET languages that ship with VS have had since the advent of MSBuild, will take advantage of the power, flexibility and extensibility of Visual Studio’s build system.

> Watch the video on Channel 9

Google Native Client

Some applications require high-performance client-side computation. Native Client is a technology for running native code in web applications, with the goal of maintaining the browser neutrality, OS portability, and safety that people expect from web apps. Here are some interesting resources related to this brand new technology. More information and some examples of applications are available on the project website.

> Watch the Google I/O 2009 Video
> Watch the Stanford Video
> Read the Research Paper

Inside SafeInt

SafeInt is a C++ header containing the SafeInt class, non-throwing functions to check common operations, and the associated internal mechanisms. SafeInt is currently used extensively throughout Microsoft, with substantial adoption within Office and Windows.

SafeInt has been available on CodePlex for a couple of months and an enhanced version will be included in Visual C++ 2010. Really cool!

Note for cross-platform developers: The CodePlex version is also compatible with GCC.

Note for C developers: you might want to look at  the Intsafe.h functions, they provide the same facilities. These functions are being used a great deal in Windows Vista / Seven and they are blazing fast.

> Watch the video on Channel 9
> CodePlex project page

TIOBE Programming Community Index for June 2009

Position
Jun 2009

Programming Language

Ratings
Jun 2009

Delta
Jun 2008

1

JAVA

20.147%

-0.74%

2

C

16.779%

+1.27%

3

C++

10.594%

-0.21%

 

Category

Ratings June 2009

Delta June 2008

Object-Oriented Languages

54.7%

-0.8%

Procedural Languages

41.3%

-0.1%

Functional Languages

3.0%

+0.8%

Logical Languages

1.0%

+0.0%

 

Category

Ratings June 2009

Delta June 2008

Statically Typed Languages

59.3%

+1.2%

Dynamically Typed Languages

40.7%

-1.2%

 

> View the complete list on TIOBE Software

Writing a boot loader

Here is a  recent article from CodeProject that explains how to write a boot loader. This might bring back memories for some of us… Well at least for me it does!

> Link to full article

What’s new in Visual C++ 2010: IntelliSense update

Mitchel Slep, from the VC++ compiler team, recently introduced an interesting update to Visual C++: IntelliSense can now display compiler-quality syntax and semantic errors as you browse and edit your code! 

> Read the full post on MSDN

Visual C++ 2008 Keybindings

A high quality, print-ready PDF containing the useful keybindings for Visual C++ 2008.

> Download from Microsoft

Note: also available for the C# and Visual Basic languages.

Next Generation Buffer Overrun Protection with gs++

With VC 10, the next iteration of VC that ships with Visual Studio 2010, Louis Lafreniere and team have delivered the next iteration of /gs, gs++. /gs proved to be invaluable for C++ developers wanting compile time checking for buffer overrun vulnerabilities in their code. specifically targetting string buffers. Well, turns out that certain structs proved to be a suitable exploit and /gs did not check data structures like structs. Louis et al, with gs++, now check for struct vulnerability.

> Watch the video on Channel 9

Windows Internals, Fifth Edition

Windows Internals

Published: June 17, 2009
Author: Mark E. Russinovich and David A. Solomon with Alex Ionescu

Get the architectural perspectives and inside details you need to understand the Windows kernel!

Delve inside the Windows kernel with noted internals experts Mark Russinovich and David Solomon, in collaboration with Alex Ionescu and the Microsoft Windows product development team. This classic guide—fully updated for Windows Vista and Windows Server 2008, including 64-bit extensions—describes the architecture and internals of the Windows operating system. You’ll find hands-on experiments you can use to experience Windows internal behavior first hand, along with advanced troubleshooting information to help you keep your systems running smoothly and efficiently. Whether you’re a developer or a system administrator, you’ll find critical architectural insights that you can quickly apply for better design, debugging, performance, and support.

> Pre-order from Amazon

Engineering Windows 7 Graphics Performance

One of the areas of any release of Windows that receives a significant amount of testing and scrutiny is the performance of graphics — desktop graphics all the way to the most extreme CAD and game graphics. The amazing breadth of hardware supported for Windows and the broad spectrum of usage scenarios contributes to a vibrant ecosystem with many different goals — from just the basics to the highest frame rates on multiple monitors possible.

In engineering Windows 7 we set out to improve the “real world” performance of graphics as well as continue to improve the most extreme elements of graphics. This is work we do in Windows 7 and work our partners do as they work to improve the underlying hardware/software combination through drivers (note: Windows Vista drivers continue to work as they did in Windows Vista, but we’ve also been working with partners on updated drivers for Windows 7 which many of you have been testing through Windows Update downloads).

This post looks at this spectrum of engineering as well as the different ways performance is measured. Ultimately we want to inform you about what we have done in engineering Windows 7, while we leave room for the many forums that will compare and contrast Windows 7 on different hardware and in different scenarios.

> Full post on MSDN 

WordPress Themes