   Should I upgrade to VS 2005
  Is there any compelling reason to upgrade to Visual Studio 8.0 from 7.1? I have the full version of 7.1 and I am wondering if its problematic moving to express version of 8.0 or should I pay for the full version? What are the advantages that 8.0 have and are they present in the express version? Also will all my current projects compile correctly under either.   
Quote:Original post by GrainIs there any compelling reason to upgrade to Visual Studio 8.0 from 7.1? I have the full version of 7.1 and I am wondering if its problematic moving to express version of 8.0 or should I pay for the full version? What are the advantages that 8.0 have and are they present in the express version? Well first thing first, since the EE are avaliable for free, you definitly want to try them out to see what you think about them. I love them, everything seems a lot more user friendly, and the IDE is greatly improved IMO. I haven't done much compiling with 8 yet though, but when doing other projects, it would appear that 7.1 made smaller executables, but like I said, I haven't done that much. Other than that, from what I see, I just like the visuals and stuff, it's pretty much just an upgraded 7.1. It's not like going from 6.0->7.0 though.Quote:Also will all my current projects compile correctly under either.99% of them should, but there are a few things that can happen that will give you a few pains. The only thing that I've seen so far is the addition of a few reserved keywords, so if you had those names in 7.1, then you will have to change them in 8.0. For example, I always used SDL_Event event; in 7.1, but in 8.0, event is a reserved keyword, so I have to change all of those. That's the only thing I am aware of though, you might have to do some reading for anything else.   ;  All the languages have been upgraded heavily in VS2005, and it includes some very nice tools like Class Designer - an automatic code graphing tool - and much more.The Express versions are little lighter than the Standard or Professional versions, but the tool availability is the only thing that separates the levels; the core compilers are the same regardless of using the free or the pro editions.The Express line suits most casual coders just fine, as there's full support of writing both Windows and web applications. The heavier versions add mobile device support, server integration and such. On the other side of the price scale, the Team System versions support international project collaboration and enterprise-scale project life management.You can download the Express versions for free until next november, after which your license is still valid (but they'll begin charging a small amount of money for new purchases then). Also, you can get evaluation copies of the other versions from MSDN.I've only had minor porting problems, mainly with reserved symbol names (as Drew also mentions). The porting tools do a surprisingly good job at converting even VB6 applications, even though you do have to fix some things yourself.   ;  System.Collections.Genericsnuf said   ;  Ok what about the compiler, does it produce faster more optimized code? Is the STL implemented more efficiently? Quote:Original post by Nik02 - an automatic code graphing tool - Sounds interesting, tell me more.Does it have integrated profiler?How about C++/CLI? I hear that VS2005 is the only compiler that supports it currently, Does the express support it?Quote:Original post by rfterdarcSystem.Collections.Genericsnuf saidApparently not. I don’t know what that is.;Quote:Original post by Drew_BentonThe only thing that I've seen so far is the addition of a few reserved keywords, so if you had those names in 7.1, then you will have to change them in 8.0. For example, I always used SDL_Event event; in 7.1, but in 8.0, event is a reserved keyword, so I have to change all of those.VC 8.0 does highlight keywords like 'event', but you'll have no problems if you don't enable the CLI extensions.  All the code I have with 'event' compiles perfectly fine.However, if someone knows a way of de-highlighting those non-standard keywords, I'd be very happy to know it.  It really drives me up the wall.   ;Quote:Original post by GrainOk what about the compiler, does it produce faster more optimized code? Is the STL implemented more efficiently? I can't say much on the side of optimizations however i can say for a fact that it's implementation of STL has been improved in some areas, notably in the case of std::vector in some of it's operations like std::vector::clear. VC++ 8.0 now comes with *checked* versions of STL which helps alot in debugging. Also worth mentioning that error messages involving templates have been improved.Another related feature added to VC++ 8.0 is compiler support for type traits which is very significant in generic programming for taking advantage of optimizations for "special cases".Quote:Original post by GrainDoes the express support it?Yep, obviously you are not forced into using it, just make sure the /clr switch is off for standard C++ apps.Quote:Original post by GrainQuote:Original post by rfterdarcSystem.Collections.Genericsnuf saidApparently not. I don’t know what that is.It's to do with .NET and available to C++ in C++/CLI (aswell as all .NET languages). It's the namespace of the .NET generic version of the .NET collections framework.Generics are sort of an OO version of templates but doesn't have all features of templates and has some features that you can't do with templates (e.g. parameterized virtual member functions) a notable difference between them is generics are not instantiated at compile-time but at run-time you still get type checking at compile-time. As such you can easily seperate generic function definitions from declarations into headers & source files.In C++/CLI you can use generics & templates together and there is even an a version of STL in the works for .NET known as STL.NET which will be available as an optional download.[Edited by - snk_kid on December 7, 2005 9:42:24 AM];  OK I downloaded the express to check it out(its free after all) and installed and followed all the directions to make win32 apps work correctly. And most of my projects could be compiled just fine. However one I am having trouble with one of them. I keep getting a linker error. It says It cant open LIBC.lib.LINK : fatal error LNK1104: cannot open file 'LIBC.lib'But I have not linked to that file any where not in 'Additional dependencies', not in the 'default dependencies' I have searched the string "LIBC" through out the entire project and haven’t found it. Where else can this file be invoked from?I search my hard drive for the file and its in 3 places.C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\libC:\Program Files\Microsoft Platform SDK\Lib\IA64C:\Program Files\Microsoft Platform SDK\Lib\AMD64   ;Quote:Original post by GrainOK I downloaded the express to check it out(its free after all) and installed and followed all the directions to make win32 apps work correctly. And most of my projects could be compiled just fine. However one I am having trouble with one of them. I keep getting a linker error. It says It cant open LIBC.lib.LINK : fatal error LNK1104: cannot open file 'LIBC.lib'But I have not linked to that file any where not in 'Additional dependencies', not in the 'default dependencies' I have searched the string "LIBC" through out the entire project and haven’t found it. Where else can this file be invoked from?I search my hard drive for the file and its in 3 places.C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\libC:\Program Files\Microsoft Platform SDK\Lib\IA64C:\Program Files\Microsoft Platform SDK\Lib\AMD64The libc.lib is the c single-threaded runtime library. You can set the directories that the linker will look the libraries for, from the Visual Studio menu Tools->Options->Projects and Solutions->VC++ directories (this in Team System Developer edition, your menu might be different).If your headers match the library (they should), then this will fix your problem.   ;Quote:Original post by Nik02You can download the Express versions for free until next november, after which your license is still valid (but they'll begin charging a small amount of money for new purchases then). Would anyone be surprised if they just decide to offer them for free for perpetuity?