Which Visual C++?

  • Thread starter noagbodjivictor
  • Start date
N

noagbodjivictor

Hi,
I would like to know which Visual C++ version I should buy, if i want
to develop win32 applications in C, and which one should I stay away
from; I don't really want to muck with all the .NET things.

Thanks a lot.
 
U

user1

Hi,
I would like to know which Visual C++ version I should buy, if i want
to develop win32 applications in C, and which one should I stay away
from; I don't really want to muck with all the .NET things.

Thanks a lot.

Question likely to be off topic and flamed by the regulars. Best for
case you describe would be Visual C++ 6.0, which is several years
obsolete and likely not available for purchase.

Free options include Dev-C++, wxDev-C++, or Code::Blocks sittong on top
of mingw-gcc, or perhaps Open Watcom. For pure C and windows API work ,
Pelles C is a good choice and has a nice resource editor, perhaps better
than lcc-win32, which is another option.
 
F

Friedrich Dominicus

Hi,
I would like to know which Visual C++ version I should buy, if i want
to develop win32 applications in C, and which one should I stay away
from; I don't really want to muck with all the .NET things.
You can use everything back to MSVC 1 for that ;-). The latter ones
(at least since V 8.0 have the annoying behaviour to deprecate perfect
valid ANSI C functions. Another point is that MSVC does not do
anything for get near ANSI C99 and so the only "C" you can do with it
is ANSI C 89 (maybe with a bit C95) and the extensions of
Microsoft. Howerver you'll hard times to get hands on VS2003 I guess
;-)

It seems a new shiny (or not so shiny) VS 2008 is on it's way to
us. But maybe it does not have to be MSVC you can choose among quite
few implementations. See the C FAQ for more on this

Regards
Friedrich
 
J

Jensen Somers

Hi,
I would like to know which Visual C++ version I should buy, if i want
to develop win32 applications in C, and which one should I stay away
from; I don't really want to muck with all the .NET things.

Thanks a lot.

There are free versions of Visual Studio available (http://
www.microsoft.com/express/). You can download the C++ version to
create C applications. However, a few things to be noted:

* No ANSI C99 support, the best you get is ISO C89 (booleans, some
math functions, ... are not present)
* Not even all ISO C89 functions are fully or correctly implemented
and the header files might contain different things than on Unix
* By default projects try to force a lot of Windows specific things,
so you'll need to keep an eye out when you create a project

Unless you really need to create specific Windows GUI applications or
deliver Windows specific libraries with the Visual Studio project
files I would advise you to look at another IDE on top of mingw32.

- Jensen
 
C

Citizen C

There are free versions of Visual Studio available (http://
www.microsoft.com/express/). You can download the C++ version to create
C applications. However, a few things to be noted:

* No ANSI C99 support, the best you get is ISO C89 (booleans, some math
functions, ... are not present)

The same can be said about gcc (gcc is not fully C99 compliant). And
besides, who cares? Write C90 code and you're automatically C99
compliant. Write C99 code and you're NOT necessarily C90 compliant. Five
out of five regulars in this group agree.
* Not even all ISO C89 functions are fully or correctly implemented and
the header files might contain different things than on Unix *

Please give specific examples.

And note that Unix has absolutely nothing to do with the C Standard,
neither the active one (C90) nor the latest one (C99).

By
default projects try to force a lot of Windows specific things, so
you'll need to keep an eye out when you create a project

Fair enough.
Unless you really need to create specific Windows GUI applications or
deliver Windows specific libraries with the Visual Studio project files
I would advise you to look at another IDE on top of mingw32.

Bad advice, IMHO.
 
R

Richard Heathfield

Jack Klein said:
Off-topic, but no you can't. All versions of Visual C++ up to and
including 1.52C were 16-bit only. No win32 applications with them.

Well, you could actually, or at least you kinda sorta could, using Win32s,
which certainly shipped with the tail-enders from the 1.x range, although
I can't now remember if it came with 1.0.

And if you wanted to use 1.52C to develop a genuinely 32-bit application,
you could do that too - by using it to write your own 32-bit compiler! :)
 
R

Richard Heathfield

[Minor nit - stuff I agree with has all been snipped]

Citizen C said:

Write C90 code and you're automatically C99
compliant. Write C99 code and you're NOT necessarily C90 compliant. Five
out of five regulars in this group agree.

....provided you pick the right five.

It is easy to write C90 code that is not C99-conforming, and this can even
be done by accident. It can certainly be done by people who have never
heard of C99 (or had not, at the time they wrote the code). For example,
I'm fairly sure that *none* of the programs in K&R2 are C99-conforming.

<snip>
 
F

Friedrich Dominicus

Citizen C said:
The same can be said about gcc (gcc is not fully C99 compliant). And
besides, who cares? Write C90 code and you're automatically C99
compliant. Write C99 code and you're NOT necessarily C90 compliant. Five
out of five regulars in this group agree.
Not correct as other pointed out and well it's difference if a
compiler offers something like an -std=c99 or having nothing at
all. And that you can't see any effort towards ANSI C99, as MS does.

Regards
Friedrich
 
N

Nick Keighley

I would like to know which Visual C++ version I should buy, if i want
to develop win32 applications in C, and which one should I stay away
from; I don't really want to muck with all the .NET things.

VC++ 2008 seems ok. It compiles my code which was developed
on MingGW. You can get a free version (Express) so you can
try before you buy. It does Win32 applications. You don't
have to do the .NET stuff (I don't).

I've only been using it a few days and seems pretty good.
 
J

James Kuyper

Citizen said:
Please give specific examples.

And note that Unix has absolutely nothing to do with the C Standard,
neither the active one (C90) nor the latest one (C99).

I'm not an expert in Unix, but I was under the impression that it adds
prescriptions on top of those provide by the C standard itself, for the
behavior of the C compiler and the C standard library. I doubt that it
would do so without at least cross-referencing the C standard.
Therefore, saying it has "absolutely nothing to do with the C standard"
seems inaccurate.
 
U

user1

Nick said:
VC++ 2008 seems ok. It compiles my code which was developed
on MingGW. You can get a free version (Express) so you can
try before you buy. It does Win32 applications. You don't
have to do the .NET stuff (I don't).


Does the 2008 Express edition really build win32 apps ? The 2005 Express
Edition would only build .Net apps, unless you downloaded and separately
installed the Platform SDK, and then made some tricky hand edits to
Visual Studio configuration files.
 
F

fnegroni

No more hacking needed (not even combining the SDK's command line and
the VC command line environments).
VC 2008 Express now includes the Win32 SDK as part of its install, and
supports creating Win32 project templates out of the box.
 
T

Tor Rustad

James said:
I'm not an expert in Unix, but I was under the impression that it adds
prescriptions on top of those provide by the C standard itself, for the
behavior of the C compiler and the C standard library. I doubt that it
would do so without at least cross-referencing the C standard.
Therefore, saying it has "absolutely nothing to do with the C standard"
seems inaccurate.

Very much indeed, not only does UNIX include the full C standard, but a
certified UNIX system, must come with a C compiler too.

The list of conforming UNIX 03 implementations is growing, the list now
include (Sun, HP, IBM and Apple):

http://www.opengroup.org/openbrand/register/

Note that, all these UNIX 03 implementations, do provide a *validated*
C99 compiler.
 
W

William Ahern

Tor Rustad said:
Very much indeed, not only does UNIX include the full C standard, but a
certified UNIX system, must come with a C compiler too.

The list of conforming UNIX 03 implementations is growing, the list now
include (Sun, HP, IBM and Apple):

http://www.opengroup.org/openbrand/register/

Note that, all these UNIX 03 implementations, do provide a *validated*
C99 compiler.

So, what is Apple shipping _other_ than GCC? Unless validation means
something other than "meets all the requirements for a hosted or
freestanding implementation".
 
D

dj3vande

So, what is Apple shipping _other_ than GCC? Unless validation means
something other than "meets all the requirements for a hosted or
freestanding implementation".

The "c99" command on MacOS 10.5 (the one that's claimed to conform to
UNIX 03) is documented to be just a wrapper around GCC. I don't have
access to a system I can actually play around with[1], so I can't
confirm it, but it seems to me more likely that they gave it a generous
C99 conformance test than that they fixed the compiler and missed
updating the documentation.

If Apple thought it was important to people, I would expect them to
provide a compiler that at least tried to fully conform to C99, but I
somehow doubt that they think it's worth the effort.


dave
(it's a shame, really, that would almost be worth upgrading from 10.4 for)

[1] It's a lot easier to say "Hey, can I borrow your Macbook to read a
man page for the new OS version?" than "Hey, can I take your
Macbook home tonight to run a C99 conformance test suite?".
 
R

Randy Howard

Very much indeed, not only does UNIX include the full C standard, but a
certified UNIX system, must come with a C compiler too.

The list of conforming UNIX 03 implementations is growing, the list now
include (Sun, HP, IBM and Apple):

http://www.opengroup.org/openbrand/register/

Note that, all these UNIX 03 implementations, do provide a *validated*
C99 compiler.

Not possible. Apple ships gcc, and no version of gcc yet comes close
to being a full C99 compiler, which they openly admit on their own web
pages. Try again.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,780
Messages
2,569,611
Members
45,273
Latest member
DamonShoem

Latest Threads

Top