c++ in VS2003 vs VS2005

  • Thread starter Thread starter Mike Smith
  • Start date Start date
M

Mike Smith

We purchased VS2003 Standard Edition a couple of months ago for an inherited
project and just realized that optimizations (eg inline functions) are not
available in the standard edition. We've spent the last couple of months
converting old VC6 code to allow it to compile under 2003 (the old code was
not C++ compliant but built under VC6 as it also was not 100% C++
compliant). Are there any known issues between 2003 and 2005 if we decide to
upgrade to 2005? I guess what I am asking is has the compiler changed so
much that we will need to spend another couple of months to convert code to
VC2005?



Thanks in advance.
 
Hi Mike!
Are there any known issues between 2003 and 2005 if we decide to
upgrade to 2005? I guess what I am asking is has the compiler changed so
much that we will need to spend another couple of months to convert code to
VC2005?

IMHO is the bigger part already done by you (moving from VC6 to VC2003).
The VC2005 compiler has also been improved to meet the C++ standard
conformance.
I don't see any big problems (if VS2005 SP1 was applied!).

For more info see:
Breaking Changes in the Visual C++ 2005 Compiler
http://msdn2.microsoft.com/en-us/library/ms177253.aspx

What's New in Visual C++
http://msdn2.microsoft.com/en-us/library/bw65k95a.aspx

If you don't use MFC/ATL, you also can use the free VC2005
Express-Edition to do some tests.

--
Greetings
Jochen

My blog about Win32 and .NET
http://blog.kalmbachnet.de/
 
We purchased VS2003 Standard Edition a couple of months ago for an
inherited project and just realized that optimizations (eg inline
functions) are not available in the standard edition. We've spent the last
couple of months converting old VC6 code to allow it to compile under 2003
(the old code was not C++ compliant but built under VC6 as it also was not
100% C++ compliant). Are there any known issues between 2003 and 2005 if
we decide to upgrade to 2005? I guess what I am asking is has the compiler
changed so much that we will need to spend another couple of months to
convert code to VC2005?

Generally, no.
From VC6 to the next version was a quantum leap in functionality and
standards compliance.
Especially porting template classes could be a real pain.

But from VC2003 to VC2005 was painless for most of my projects.
There are some extra warning and errors, but those should be very rare.
It should be a painless upgrade.

There is one grave exception: if your projects use Managed extention for C++
to use .NET functionality, you have more problems.
That has been replaced by C++/CLI, which is much better.
You can use the /clr:oldSyntax to cope with that, but it has caveats.

Other than that, I can really advise you to try it, since it should go well.
If your app only uses platform functionality and plain C++ code, you could
use the free C++ express edition with the platform SDK to try it and see
what happens.

--

Kind regards,
Bruno van Dooren
(e-mail address removed)
Remove only "_nos_pam"
 
Thanks for the great responses. You've made me alittle more comfortable
about upgrading. I've heard many great things about VS2005 but was afraid
to make the jump.
 
Mike Smith said:
Thanks for the great responses. You've made me alittle more comfortable
about upgrading. I've heard many great things about VS2005 but was afraid
to make the jump.

There are some gotchas in that certain "unsafe" string functions (strcat,
strcpy) will give warnigs about being deprecated unless a symbol is defined
(covered in the help).

One of the nice features with 2005 are property sheets. You can secify
common compiler/linker settings in the property sheets which can then be
inherited by your projects, which helps insure that all the projects are
consistent.

Dennis
 
Back
Top