Quake3World.com Forums
     Programming Discussion
        is VC++ 2005 worth a shit?


Post new topicReply to topic
Login | Profile | | FAQ | Search | IRC




Print view Previous topic | Next topic 
Topic Starter Topic: is VC++ 2005 worth a shit?

Gibblet
Gibblet
Joined: 18 Dec 2003
Posts: 23
PostPosted: 09-12-2005 12:20 AM           Profile Send private message  E-mail  Edit post Reply with quote


It looks like they're offering it for free now (or maybe just the beta), but I don't want it if it's going to be bloatware.

http://lab.msdn.microsoft.com/express/v ... fault.aspx




Top
                 

Warrior
Warrior
Joined: 16 Jun 2005
Posts: 76
PostPosted: 09-12-2005 12:52 AM           Profile Send private message  E-mail  Edit post Reply with quote


The 'Express Edition' is free, but only the beta, which expires next year, I think. But the beta isn't ready enough for me to bother with it anyway. If you want a profiler, it seems you have to get the most expensive version, Team Edition. The express edition requires only 1.3 GB for a complete install, according to the web page. Can't remember what the actual space used was when I installed it.

For q3 development, I'll stick with VC++ 6.0. VC7 and 7.1 sucks for that, because there's no call browser. But 2005 has got that, so it looks to be very neat. But it probably eats up 10 GB of your precious HD space...



_________________
Smokin' Guns
Monster Browser


Top
                 

Gibblet
Gibblet
Joined: 18 Dec 2003
Posts: 23
PostPosted: 09-12-2005 06:45 AM           Profile Send private message  E-mail  Edit post Reply with quote


thanks dude. i actually have VC++ 6 standard in a box, so i'll just use that. :icon14:




Top
                 

Elite
Elite
Joined: 29 Apr 2002
Posts: 6222
PostPosted: 09-21-2005 11:26 PM           Profile Send private message  E-mail  Edit post Reply with quote


i got a free (educational) edition of the whole Visual Studio suite for simply entering a programming competition that i never produced any work for.

ace :)




Top
                 

zewulf
zewulf
Joined: 27 Mar 2003
Posts: 1098
PostPosted: 09-28-2005 10:12 AM           Profile Send private message  E-mail  Edit post Reply with quote


Hmmm...a new version of VC++ :icon6:

I may give it a try just to see if they've finally fixed that FP bug I found almost 4 years ago... :paranoid:




Top
                 

Mentor
Mentor
Joined: 12 Mar 2005
Posts: 3958
PostPosted: 09-28-2005 10:24 AM           Profile Send private message  E-mail  Edit post Reply with quote


Not to mention the extremely buggy MMX/SSE/3DNOW! intrinsics.




Top
                 

zewulf
zewulf
Joined: 27 Mar 2003
Posts: 1098
PostPosted: 09-29-2005 07:43 AM           Profile Send private message  E-mail  Edit post Reply with quote


Finally gave it a try, and as expected, that FP bug is still there :icon13: I don't know if I should report it. I figure they probably know about it already but just never bother to fix it :shrug: I mean I've known about this bug since VC++ 6, and it's also present in VC++ .NET.

And what's with deprecating standard I/O routines like scanf, fopen, etc.? :icon6:

One interesting thing I found is that the VC++ 2005 generated executable is much smaller in size than the VC++ .NET generated executable, especially for the Release build. However, the runtime speed seems to be inversely proportional to this decrease in file size (i.e., the VC++ 2005 generated executable runs a lot slower and requires more memory to run) :shrug:




Top
                 

Warrior
Warrior
Joined: 26 Nov 2000
Posts: 85
PostPosted: 09-29-2005 09:27 AM           Profile Send private message  E-mail  Edit post Reply with quote


You've gotten me curious - what is this FP bug that you know about?




Top
                 

zewulf
zewulf
Joined: 27 Mar 2003
Posts: 1098
PostPosted: 09-29-2005 10:33 AM           Profile Send private message  E-mail  Edit post Reply with quote


Below is the output of a program I wrote that demonstrates this bug:

Code:

Double precision (64-bit) FP division bug in Visual C++

Hardware result is incorrect...

==============================================

Dividend (decimal) = +7.06932792557673790E-157
Divisor  (decimal) = -6.13288101671836090E+156
Dividend (hex)     = 0x1F83696BE07C9694
Divisor  (hex)     = 0xE07C96941F83696B

Result:
Hardware (decimal) = -1.15269282188160850E-313
Software (decimal) = -1.15269282193101500E-313
Hardware (hex)     = 0x800000056E9F2ED4
Software (hex)     = 0x800000056E9F2ED5

==============================================

Dividend (decimal) = +4.51268704717494800E-155
Divisor  (decimal) = -9.59942829634031540E+154
Dividend (hex)     = 0x1FE35C96E01CA369
Divisor  (hex)     = 0xE01CA3691FE35C96

Result:
Hardware (decimal) = -4.70099563001620400E-310
Software (decimal) = -4.70099563001615460E-310
Hardware (hex)     = 0x80005689A6E985E6
Software (hex)     = 0x80005689A6E985E5

==============================================

Dividend (decimal) = +6.49702735810724210E-155
Divisor  (decimal) = -6.74564033298548460E+154
Dividend (hex)     = 0x1FEBE01FE0141FE0
Divisor  (hex)     = 0xE0141FE01FEBE01F

Result:
Hardware (decimal) = -9.63144644154457230E-310
Software (decimal) = -9.63144644154452290E-310
Hardware (hex)     = 0x8000B14C9F2E3A22
Software (hex)     = 0x8000B14C9F2E3A21



I actually posted a similar program in general discussion about 2 years ago asking people to run it on their computers so that I could determine whether it was a hardware (i.e., FPU) bug or a compiler bug. Originally I thought it was probably a hardware bug, because this bug was non-existent when I compiled the program with GCC and ran it on a Sun Sparc system running Solaris. However, when other Q3Wers reported the bug on both Intel and AMD systems with the VC++ compile, I knew it was most likely a compiler bug. I then finally compiled the program with the Win32 version of GCC and ran it again on my Intel system, and the bug was gone.

I have yet to run the program through a debugger to see where it goes wrong. I suppose I will get to it someday :p

BTW, this bug occurs for the dividends from 0x1F83696BE07C9694 thru 0x1FEBE01FE0141FE0 divided by the divisors from 0xE07C96941F83696B thru 0xE0141FE01FEBE01F. This is just one range I found. I think there may be other ranges where this bug could occur.




Top
                 
Quake3World.com | Forum Index | Programming Discussion


Post new topic Reply to topic


cron
Quake3World.com
© ZeniMax. Zenimax, QUAKE III ARENA, Id Software and associated trademarks are trademarks of the ZeniMax group of companies. All rights reserved.
This is an unofficial fan website without any affiliation with or endorsement by ZeniMax.
All views and opinions expressed are those of the author.