POV-Ray : Newsgroups : povray.programming : C vs. C++ : Re: C vs. C++ Server Time
28 Jul 2024 20:34:42 EDT (-0400)
  Re: C vs. C++  
From: Ron Parker
Date: 30 Jun 1999 10:26:36
Message: <377a291c@news.povray.org>
On Wed, 30 Jun 1999 03:59:06 -0400, Dick Balaska wrote:
>Ron Parker wrote:
>> 
>> On Tue, 29 Jun 1999 13:27:45 -0700, Ken wrote:
>> > I know that the windows version of 3.1 has been compiled using
>> >msvc6 a C++ compiler. Pov has traditionaly been written in C. Has
>> >the code all been changed to C++ or does the current windows version
>> >only have the distinction of being a program written in C and compiled
>> >with a C++ compiler ?
>> 
>> It's still written in C.  VC6, like most C++ compilers, is quite capable
>> of falling back on a C grammar when confronted with C source, and that is
>> exactly what it does.  So what you have is a C program compiled with a
>> C compiler.
>
>Actually, they are different compilers.  If you have a file foo.c, it will
>use the C compiler. foo.cpp (or foo.cxx) uses the c++ compiler.

They're the same executable.  Go to a command prompt and type cl /? and 
you'll get, among other things, this:

/Tc<source file> compile file as .c
/Tp<source file> compile file as .cpp
/TC compile all files as .c
/TP compile all files as .cpp

>The M$ C compiler has been stable for several years and generates descent
>code.  The C++ compiler is fairly buggy.  You can get different bugs
>by tweaking the optimizations.  Neither devstudio/VC++6 service pack
>addressed a single compiler/code generation bug. (Mostly dll tweaks so 
>you can play on the same machine as Office2000/IE5)

The C compiler has only been stable for "several years" if your definition 
of the term allows for the interpretation "a little over a year."  Everyone 
here remembers how VC5 (without the service packs) couldn't compile 
lighting.c with global optimizations turned on because cl would get stuck 
in an infinite loop.

Reading the readme that comes with VC6 SP3 tells me the following issues 
that were fixed and were compiler/optimizer/linker bugs:

Q187280  Q192539  Q194615  Q195376  Q199736  Q205681  Q216181  Q216720
Q216727  Q216715  Q216716  Q216718  Q216722  Q216731  Q216747  Q216854
Q217033  Q195377  Q217171  Q217168  Q217164  Q217755  Q218611  Q218613

And that's just the bugs fixed between SP2 and SP3.  There are similar
lists for the other service packs, but I no longer have them at hand.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.