Prev: Error LNK2028 unresolved token / LNK2019 Unrevolved external symbol
Next: IJolietDiscMaster->AddData returning STG_E_INVALIDFUNCTION
From: elwilj on 17 Sep 2007 12:38 I'm new to the MS Visual Studio world. I've just inherited a project that was written entirely in VC++ 6.0. Should I make the move to VC+ +.NET and bybass VC++ 2005? Does the upgrade to .NET involve a great deal of code rewrites? What resources are out there to help with this migration? We are on Windows 2000 and XP machines ... must admit I'm a unix guy thru and thru but this app needs some work. Does anyone out there have any recommendations? Thanks LJ
From: Jochen Kalmbach [MVP] on 17 Sep 2007 12:46 Hi elwilj! > I'm new to the MS Visual Studio world. I've just inherited a project > that was written entirely in VC++ 6.0. Should I make the move to VC+ > +.NET and bybass VC++ 2005? What is "VC++.NET" ? To which version do you want to move? VS2005 is the latest version... VS2008 is expected November this year... -- Greetings Jochen My blog about Win32 and .NET http://blog.kalmbachnet.de/
From: Alexander Nickolov on 17 Sep 2007 13:08 It's probably best if you don't refer to .NET for your questions. This usually refers to the .NET framewrok which doesn't seem to be anything you are interested in. VC 8.0 is part of VS 2005.NET and the confusion comes from there. The next version is VC 9.0 part of VS 2008 and due to be released soon. It's your decision whether you want to wait for it or not. Now, each new version of the VC compiler introduces a few breaking changes so porting to a new version is, alas, always interesting. Considering you don't know the original codebase much, I'd advise you just go ahead and port, fixing issues as they arise. You should certainly check the list of breaking changes for your chosen compiler and for any previous versions as well (e.g. VC 7.0, VC 7.1, and VC 8.0 if you decide to use VC 8.0). -- ===================================== Alexander Nickolov Microsoft MVP [VC], MCSD email: agnickolov(a)mvps.org MVP VC FAQ: http://vcfaq.mvps.org ===================================== <elwilj(a)gmail.com> wrote in message news:1190047097.294281.50880(a)19g2000hsx.googlegroups.com... > I'm new to the MS Visual Studio world. I've just inherited a project > that was written entirely in VC++ 6.0. Should I make the move to VC+ > +.NET and bybass VC++ 2005? Does the upgrade to .NET involve a great > deal of code rewrites? What resources are out there to help with this > migration? We are on Windows 2000 and XP machines ... must admit I'm > a unix guy thru and thru but this app needs some work. Does anyone > out there have any recommendations? > > Thanks > LJ >
From: Giovanni Dicanio on 17 Sep 2007 14:33 <elwilj(a)gmail.com> ha scritto nel messaggio news:1190047097.294281.50880(a)19g2000hsx.googlegroups.com... > I'm new to the MS Visual Studio world. I've just inherited a project > that was written entirely in VC++ 6.0. Should I make the move to VC+ > +.NET and bybass VC++ 2005? Does the upgrade to .NET involve a great > deal of code rewrites? Hi, it seems to me that you are a bit confused about terminology. I think it is not all your fault: sometimes it seems that Microsoft chooses not very good names (maybe the hype of .NET imposed to put a ".NET" in everything, so we had kind of confusing Visual Studio .NET 2002, 2003 also for C++ development... then they came back to just Visual Studio :) You may find the following Wikipedia page to be interesting: http://en.wikipedia.org/wiki/Visual_C++ You can read there that, after Visual C++ 6, we had: - Visual C++ .NET 2002 (a.k.a. VC++7.0) - Visual C++ .NET 2003 (a.k.a. VC++7.1) - Visual C++ 2005 (a.k.a. VC++8.0) Now Visual C++ 2008 is in beta. To correctly answer your question, IMHO, more elements need to be known, e.g.: a) Is your existing code base very big? b) Is your VC6 project heavily based on MFC? etc. For example, as you can read from lots of comments here: http://blogs.msdn.com/somasegar/archive/2007/08/08/visual-c-futures.aspx the best IDE for C++ + MFC development is VC6. If you just want to mantain a legacy big project with lots of lines of codes, heavily based on MFC, etc. then you may continue using VC6 and extend your code-base, and enjoy VC6's ClassWizard help. The real problem of VC6 is that the C++ compiler is a bit old and not very standard compliant, exspecially for C++ advanced template stuff. But if you don't use Boost or other advanced template things a lot, the VC6 C++ compiler may be good for you. After VC6, the Visual Studio IDEs lost the focus on C++, they are no more designed around a C++-centric "view of the world"; a great tool like ClassWizard has been removed after VC6, and the lack of ClassWizard causes productivity hit (and there are other things that I don't like in modern IDEs, for example: in VC6 the ClassWizard used to put some code into what we could define the parent of the concept of #regions of modern IDEs, in fact Visual C++ 6 ClassWizard used to put code *well organized* into special sections, while VC++2003 mixes everything: controls, event handlers...) Note that libraries like MFC and ATL have been improved since VC6; the problem is the *tools* like ClassWizard. However, in Orcas+1 (i.e. the next version of Visual Studio 2008), there will be interesting improvements for C++ and MFC, as you can read on Somasegar's blog. Note that Visual C++ Team is now listening to customer requests to make a great C++ IDE again (an example of that is the suggestion box in Somasegar's blog); I believe they will be successfull. Moreover, the STL implementation which comes with VC6 has some problems, so you could find useful to install STLport implementation and use it from VC6. Instead, if you move to a more modern IDE like VS2003 or 2005, you will be OK with STL (no need for STLport) and with advanced C++ template code (for example, it seems that the Blitz++ library does not work with VC6, but needs VC7 or newer). Moreover, modern C++ compilers (>= 7) do some security checks, they check the stack and heap buffers to avoid overflow attacks, etc. Moreover, if you need to interop with the .NET framework for C++, you should really move to more modern IDEs like VS2005. In fact, there are some extensions to C++ in VS2005 to allow C++ code to target the .NET framework, too. (Frankly speaking, I think that it is possible to "mix" .NET and C++ also with VC6, using COM. In fact, VC6 can build COM components, and .NET can consume COM components, and vice-versa. But the C++/CLI extensions of VS2005 are more straightforward and easier.) Giovanni
From: Tom Serface on 17 Sep 2007 15:55
Aside from all the terminology advice given I'd just port directly to VC++ 2005. Going from 2005 to 2008 will be a lot easier so I wouldn't wait. You will likely find a few things to fix, but I've never taken more than a day or so converting a project. If you want to really make it a .NET application (I'm assuming you don't) then that would be a lot more work especially if the application uses MFC. If the application works as a native application I don't think you'll benefit from converting it to an actual .NET application unless there is something specifically there that you need. Tom <elwilj(a)gmail.com> wrote in message news:1190047097.294281.50880(a)19g2000hsx.googlegroups.com... > I'm new to the MS Visual Studio world. I've just inherited a project > that was written entirely in VC++ 6.0. Should I make the move to VC+ > +.NET and bybass VC++ 2005? Does the upgrade to .NET involve a great > deal of code rewrites? What resources are out there to help with this > migration? We are on Windows 2000 and XP machines ... must admit I'm > a unix guy thru and thru but this app needs some work. Does anyone > out there have any recommendations? > > Thanks > LJ > |