|
Prev: VS2005 hangs upon completion of "start debug"
Next: How to create a multilingual application in Visual c++ .net 2008
From: jhc0033 on 14 May 2008 05:28 Is upgrading from VS2005 Standard to VS2008 Standard worth my time? Are there any improvements in C++ support? I try to write ANSI and cross-platform C++, so Windows-specific library enhancements aren't relevant to me. However, if the debugger got much better, or IntelliSense more useful, or VS2008 can finally detect uninitialized value access, I might actually upgrade.
From: Giovanni Dicanio on 14 May 2008 05:52 <jhc0033(a)gmail.com> ha scritto nel messaggio news:0d4079cd-9499-4b32-8468-d25d00a8db76(a)1g2000prg.googlegroups.com... > Is upgrading from VS2005 Standard to VS2008 Standard worth my time? > > Are there any improvements in C++ support? I try to write ANSI and > cross-platform C++, so Windows-specific library enhancements aren't > relevant to me. However, if the debugger got much better, or > IntelliSense more useful, or VS2008 can finally detect uninitialized > value access, I might actually upgrade. I don't know about IntelliSense of VS2008, because I use (and love) Visual Assist X. However, I think that VS2008 IDE is faster than VS2005. Moreoever, with VS2008 you can download (for free) the Visual C++ Feature Pack, and you will get some C++ TR1 components off-the-shelf, like shared_ptr. And you also have a debug visualizer for shared_ptr, off-the-shelf. So, I would suggest to upgrade to VS2008 Professional. My 2 cents, Giovanni
From: Alex Blekhman on 14 May 2008 06:21 <jhc0033(a)gmail.com> wrote: > Is upgrading from VS2005 Standard to VS2008 Standard worth my > time? > > Are there any improvements in C++ support? In addition to VS Feature Pack that includes TR1 here's full list of new features: "What's New in Visual C++ 2008" http://msdn.microsoft.com/en-us/library/bb384632.aspx > [...] VS2008 can finally detect uninitialized value access, I > might actually upgrade. VS could detect uninitialized variables for ages already. You need to compile with warning level 4, then you'll see C4701 warnings. Also, VS Team System C++ compiler includes code analysis feature, which can give even more detailed warnings (see C6001 warning, for example). HTH Alex
From: Nathan Mates on 14 May 2008 13:10 In article <eoEkIxatIHA.4076(a)TK2MSFTNGP06.phx.gbl>, Alex Blekhman <tkfx.REMOVE(a)yahoo.com> wrote: >> [...] VS2008 can finally detect uninitialized value access, I >> might actually upgrade. >VS could detect uninitialized variables for ages already. You need >to compile with warning level 4, then you'll see C4701 warnings. It can detect only the most trivially uninitialized variables. I've posted this example before, which generates *zero* warnings (compile or runtime) with VS2005 SP1 at warning level 4, debug build. Here's the entire source code, and it has a 50/50 chance of using a variable uninitialized. [Complete source & .vcproj/.sln files could be uploaded, it's not much at all.] --- Begin main.cpp #include <stdio.h> #include <stdlib.h> #include <time.h> void foo(int& v) { if(rand() & 0x01) v = 0; } int main(int /*argc*/, char** /*argv*/) { srand((unsigned int)time(NULL)); int v; foo(v); printf("v = %d", v); return 0; } --- end main.cpp Static code analysis like Coverity can detect this now. Dynamic runtime checks like Boundschecker or Valgrind (linux only) can detect this as well. I'd like to hope that VS2008 does better at this test, but I have little faith in MS. Nathan Mates -- <*> Nathan Mates - personal webpage http://www.visi.com/~nathan/ # Programmer at Pandemic Studios -- http://www.pandemicstudios.com/ # NOT speaking for Pandemic Studios. "Care not what the neighbors # think. What are the facts, and to how many decimal places?" -R.A. Heinlein
From: Tom Serface on 14 May 2008 13:30
Intellisense is better, debugger has a couple of cool new options, and the IDE seems to respond faster to lots of places where it used to hang for a number of seconds. I don't know about uninitialized values, I know there is a warning in the compiler where variables are declared and not used and, for some things, variables that are uninitialized, but nothing precluding you from ignoring those warnings. Tom <jhc0033(a)gmail.com> wrote in message news:0d4079cd-9499-4b32-8468-d25d00a8db76(a)1g2000prg.googlegroups.com... > Is upgrading from VS2005 Standard to VS2008 Standard worth my time? > > Are there any improvements in C++ support? I try to write ANSI and > cross-platform C++, so Windows-specific library enhancements aren't > relevant to me. However, if the debugger got much better, or > IntelliSense more useful, or VS2008 can finally detect uninitialized > value access, I might actually upgrade. |