From: John_Doe on
I have inherited a lot of projects using VC++ 6, 2002, 2003 and 2005,
most of them MFC based (hence cross-posting in 2 newsgroups). I intend
to move all of them to 2008 over the time. I already moved some and
did have to make some code changes, mostly due to the fact that newer
compiler is more strict in conformance to C++ standard. The
applications are producing the same result as far as I can see but I
haven't performed any extensive testing.

What concerns me is that changes in compiler and/or libraries can
produce different executable with different behavior, and that
difference may not be immediately obvious, however it will break our
applications.

Can those of you who had to move a lot of projects from one version of
VC++ to another share your experiences? How much of a problem it has
been? Is there some documentation on MS website related to this issue?
From: Victor Bazarov on
John_Doe(a)inbox.ru wrote:
> I have inherited a lot of projects using VC++ 6, 2002, 2003 and 2005,
> most of them MFC based (hence cross-posting in 2 newsgroups). I intend
> to move all of them to 2008 over the time. I already moved some and
> did have to make some code changes, mostly due to the fact that newer
> compiler is more strict in conformance to C++ standard. The
> applications are producing the same result as far as I can see but I
> haven't performed any extensive testing.
>
> What concerns me is that changes in compiler and/or libraries can
> produce different executable with different behavior, and that
> difference may not be immediately obvious, however it will break our
> applications.
>
> Can those of you who had to move a lot of projects from one version of
> VC++ to another share your experiences? How much of a problem it has
> been? Is there some documentation on MS website related to this issue?

If they compile, it's already better. We had some that had compilation
errors, so we dealt with those first. Then, of course, if you have QA,
you need to work with them closely to develop some kind of automation
in testing, otherwise pushing all the buttons manually is just hard.
If you don't have QA, how big is the "lot of projects", really?

Most of difficulties we've encountered was due to some miniscule changes
the compiler developers made over the years. First and foremost was in
VC6 when you could declare the loop counter in one loop, insid the 'for'
statement, and then use it afterwards. It changed in 2002, IIRC. Then
you have some template rules that were tweaked, but it is possible that
you don't have any of that... Managed stuff has changed a bit (they
straighten it out, last I heard)...

Generally, however, our approach was to deal with one error at a time.
I am not aware of any MS documentation that describes potential problems
in migrating from version to version.

Your application is going to be smaller and faster, and that's good
news.

V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask


From: BobF on

<John_Doe(a)inbox.ru> wrote in message
news:92d9e010-aa57-48eb-a348-b7a56c87cbca(a)z38g2000hsc.googlegroups.com...
>I have inherited a lot of projects using VC++ 6, 2002, 2003 and 2005,
> most of them MFC based (hence cross-posting in 2 newsgroups). I intend
> to move all of them to 2008 over the time. I already moved some and
> did have to make some code changes, mostly due to the fact that newer
> compiler is more strict in conformance to C++ standard. The
> applications are producing the same result as far as I can see but I
> haven't performed any extensive testing.
>
> What concerns me is that changes in compiler and/or libraries can
> produce different executable with different behavior, and that
> difference may not be immediately obvious, however it will break our
> applications.
>
> Can those of you who had to move a lot of projects from one version of
> VC++ to another share your experiences? How much of a problem it has
> been? Is there some documentation on MS website related to this issue?

Try searching MSDN for "breaking changes". There are docs that detail these
changes for each version.


From: John_Doe on
On Apr 10, 4:07 pm, "Victor Bazarov" <v.Abaza...(a)comAcast.net> wrote:
> John_...(a)inbox.ru wrote:
> > I have inherited a lot of projects using VC++ 6, 2002, 2003 and 2005,
> > most of them MFC based (hence cross-posting in 2 newsgroups). I intend
> > to move all of them to 2008 over the time. I already moved some and
> > did have to make some code changes, mostly due to the fact that newer
> > compiler is more strict in conformance to C++ standard. The
> > applications are producing the same result as far as I can see but I
> > haven't performed any extensive testing.
>
> > What concerns me is that changes in compiler and/or libraries can
> > produce different executable with different behavior, and that
> > difference may not be immediately obvious, however it will break our
> > applications.
>
> > Can those of you who had to move a lot of projects from one version of
> > VC++ to another share your experiences? How much of a problem it has
> > been? Is there some documentation on MS website related to this issue?
>
> If they compile, it's already better. We had some that had compilation
> errors, so we dealt with those first. Then, of course, if you have QA,
> you need to work with them closely to develop some kind of automation
> in testing, otherwise pushing all the buttons manually is just hard.
> If you don't have QA, how big is the "lot of projects", really?

No, we don't have QA. Projects themselves are not really large but
there are about 20 of them

>
> Most of difficulties we've encountered was due to some miniscule changes
> the compiler developers made over the years. First and foremost was in
> VC6 when you could declare the loop counter in one loop, insid the 'for'
> statement, and then use it afterwards. It changed in 2002, IIRC.

Funny thing is that I fixed this loop counter issue in several places
while moving one of the projects. I didn't even know you could use it
like that, it just "feels wrong".

> Then
> you have some template rules that were tweaked, but it is possible that
> you don't have any of that... Managed stuff has changed a bit (they
> straighten it out, last I heard)...

There seem to be no templates and managed stuff.

> Generally, however, our approach was to deal with one error at a time.
> I am not aware of any MS documentation that describes potential problems
> in migrating from version to version.
>
> Your application is going to be smaller and faster, and that's good
> news.
>
> V
> --
> Please remove capital 'A's when replying by e-mail
> I do not respond to top-posted replies, please don't ask

From: John_Doe on
On Apr 10, 4:14 pm, "BobF" <rNfOrSePeA...(a)charter.net> wrote:
> <John_...(a)inbox.ru> wrote in message
>
> news:92d9e010-aa57-48eb-a348-b7a56c87cbca(a)z38g2000hsc.googlegroups.com...
>
>
>
> >I have inherited a lot of projects using VC++ 6, 2002, 2003 and 2005,
> > most of them MFC based (hence cross-posting in 2 newsgroups). I intend
> > to move all of them to 2008 over the time. I already moved some and
> > did have to make some code changes, mostly due to the fact that newer
> > compiler is more strict in conformance to C++ standard. The
> > applications are producing the same result as far as I can see but I
> > haven't performed any extensive testing.
>
> > What concerns me is that changes in compiler and/or libraries can
> > produce different executable with different behavior, and that
> > difference may not be immediately obvious, however it will break our
> > applications.
>
> > Can those of you who had to move a lot of projects from one version of
> > VC++ to another share your experiences? How much of a problem it has
> > been? Is there some documentation on MS website related to this issue?
>
> Try searching MSDN for "breaking changes". There are docs that detail these
> changes for each version.

BobF,

your suggestion is right on target - I found just what was looking
for.
 |  Next  |  Last
Pages: 1 2 3
Prev: auto_ptr in loop
Next: assign none to COM thread model