Here’s a good article that explains how well the Visual Studio 2005 compiler can optimize .net managed C++ code. To me, it’s just further argument that “unmanaged” (“native”) (read: portable, non-MS-proprietary) C++ code is far superior. Is there anything in the .net API that is really really necessary that would be more difficult in straight C++? MS is committed to
making an effort to ensure that there is, so you go with their proprietary solutions. But I will always make an effort to code everything I can in portable clean C++, and link to .net managed C++ only when necessary.

And to follow up, here’s an article from Paul DiLascia, who’s been kicking a$$ with his C++ Q&A articles for decades, explaining how to link in .net code with unmanaged C++ code, on a MODULE-BY-MODULE basis! Excellent.

Update: There’s no stopping him, in his next article he shows how to “wrap (.net) Framework classes in a native way so you can use them in any C++/MFC app without /clr”.

Leave a Reply