473,412 Members | 2,050 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,412 software developers and data experts.

Which compiler for a learner of C?

I own a legit copy of Visual C++ 6.0

Its nice but it is 10 years old and aimed at C++.

Downloaded Bloodshed Dev-C++

Very nice but the default auto-indent woupd break my heart as I depend
on indentation. This is how a loop is formatted by default.

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
int a = 0, b = 7;

for (a = 0; a <= b; ++a)
{
printf("Hello again\n");
}
system("PAUSE");
return 0;
}

That } that fails to align as it closes the "for" loop really puts me
off. If anyone knows how to fix this, this looks a fine compiler. Is
it good in the opinion of more experienced C programmers?

Is Visual C++ Express a good compiler?

Is there another for the Win32 platform that is recommended?

Sep 27 '06 #1
46 2153
pkirk25 wrote:
I own a legit copy of Visual C++ 6.0

Its nice but it is 10 years old and aimed at C++.

Downloaded Bloodshed Dev-C++

Very nice but the default auto-indent woupd break my heart as I depend
on indentation. This is how a loop is formatted by default.

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
int a = 0, b = 7;

for (a = 0; a <= b; ++a)
{
printf("Hello again\n");
}
system("PAUSE");
return 0;
}

That } that fails to align as it closes the "for" loop really puts me
off. If anyone knows how to fix this, this looks a fine compiler. Is
it good in the opinion of more experienced C programmers?

Is Visual C++ Express a good compiler?

Is there another for the Win32 platform that is recommended?
Look lcc-win32 is a compiler system written for developing in C.
Not in C++.

Download it from
http://www.cs.virginia.edu/~lcc-win32

It is a controversial compiler but it comes with more than
Bloodshed, that is (apparently) no longer developed.

There is also a problem with the libraries.

This program:
#include <stdio.h>
int main(int argc, char *argv[])
{
long double d = 1e600L;

printf("%Le\n",d);
return 0;
}
will print
1.000000e+600
in lcc-win32, but in Bloodshed will print
-7.521098e-238

The libraries are not in phase with the compiler (gcc).
The program compiles with no warnings under Bloodshed,
but it gives wrong results.

http://www.cs.virginia.edu/~lcc-win32

Sep 27 '06 #2
jacob navia said:
pkirk25 wrote:
>>
Is there another for the Win32 platform that is recommended?

Look lcc-win32 is a compiler system written for developing in C.
But he asked for one that is recommended.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Sep 27 '06 #3
pkirk25 said:
I own a legit copy of Visual C++ 6.0

Its nice but it is 10 years old and aimed at C++.
It still does C just fine, though. It's a very good C compiler with a fine
IDE. In fact, on the rare occasions when I use Windows, it's my C compiler
of choice. (And I'm Mr Anti-Microsoft!)

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Sep 27 '06 #4
Richard Heathfield wrote:
jacob navia said:

>>pkirk25 wrote:
>>>Is there another for the Win32 platform that is recommended?

Look lcc-win32 is a compiler system written for developing in C.


But he asked for one that is recommended.
I recommend it.

He was not asking for YOUR recommendation
YOUR EXCELLENCE :-)

Sep 27 '06 #5
Richard Heathfield wrote:
pkirk25 said:

>>I own a legit copy of Visual C++ 6.0

Its nice but it is 10 years old and aimed at C++.


It still does C just fine, though. It's a very good C compiler with a fine
IDE. In fact, on the rare occasions when I use Windows, it's my C compiler
of choice. (And I'm Mr Anti-Microsoft!)
The flaw that I pointed out doesn't disturb you of course:

This program:
#include <stdio.h>
int main(int argc, char *argv[])
{
long double d = 1e600L;

printf("%Le\n",d);
return 0;
}
will print
1.000000e+600
in lcc-win32, but in Bloodshed will print
-7.521098e-238

The libraries are not in phase with the compiler (gcc).
The program compiles with no warnings under Bloodshed,
but it gives wrong results.

What flaws are concerned, you seem to be very selective...
Sep 27 '06 #6
Jacob,

First off, let me say I respect waht you have already achieved.

As is often the case when people start with flowery openings, I'm
afraid I must say that your compiler is not for me.

For my first try, i just said no to usign a wizard for ny "hello world"
application.

The editor behaves like a DOS EDIT program. No syntax highlighting, no
folding, just a text file. vi with ctags is more user friendly.

Files are saved with the name you give them. My "hello world" failed
to compile because I didn't save the file as main.c as opposed to main.

I then tried the wizard. It presented me with 62 lines of code!

Usual options like Ctrl-A for the Editor to Select All didn't work.

As I have no idea which of the 62 lines are essential to my "Hello
World" appliaction and which are not, I quit.

So far, so hard for a learner. Then I did get annoyed about the
documentation.

Documentation in pdf? Really, given that the web is over 15 years old,
there is no excuse for using pdf where html offers more ease of use.

Microsoft with a building full of IDE experts on the Washington campus
edged you. I hope that isn't too hurtful.

Thanks for the link and work you have done.

Sep 27 '06 #7
jacob navia said:
Richard Heathfield wrote:
>jacob navia said:

>>>pkirk25 wrote:

Is there another for the Win32 platform that is recommended?

Look lcc-win32 is a compiler system written for developing in C.


But he asked for one that is recommended.

I recommend it.
Well well. There's a surprise.
He was not asking for YOUR recommendation
Indeed - but I doubt whether he will consider your recommendation impartial,
given that you are the maintainer for lcc-win32.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Sep 27 '06 #8
jacob navia said:
Richard Heathfield wrote:
>pkirk25 said:

>>>I own a legit copy of Visual C++ 6.0

Its nice but it is 10 years old and aimed at C++.


It still does C just fine, though. It's a very good C compiler with a
fine IDE. In fact, on the rare occasions when I use Windows, it's my C
compiler of choice. (And I'm Mr Anti-Microsoft!)
The flaw that I pointed out doesn't disturb you of course:
No, it doesn't. The flaw you pointed out is to do with Bloodshed's
implementation, not Visual C++ 6.0.

<snip>
What flaws are concerned, you seem to be very selective...
Yes. When discussing Visual C++ 6.0, I do not find flaws in the Bloodshed
implementation to be particularly relevant.

Will you never tire of being *wrong*?

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Sep 27 '06 #9
"pkirk25" <pa*****@kirks.netwrites:
Jacob,

First off, let me say I respect waht you have already achieved.

As is often the case when people start with flowery openings, I'm
afraid I must say that your compiler is not for me.
[snip]
Thanks for the link and work you have done.
Let me suggest to both of you that comp.compilers.lcc would be the
appropriate place to discuss this.

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Sep 28 '06 #10
On Wed, 27 Sep 2006 23:00:49 +0000, Richard Heathfield
<in*****@invalid.invalidwrote in comp.lang.c:
jacob navia said:
pkirk25 wrote:
>
Is there another for the Win32 platform that is recommended?
Look lcc-win32 is a compiler system written for developing in C.

But he asked for one that is recommended.
Richard, are you ever going to get your head out of your ass, or has
picking on Jacob become your mission in life?

It is one thing, perhaps, to rebuke him when he answers a question by
pointing out a non-standard extension that his compiler has. But your
reply in this particular case smacks of nothing so much as personal
harassment or perhaps a vendetta of some sort.

Have you ever actually installed and used a version of lcc-win32? It
may be a bit hard to understand, but it is actually quite useful for
many things, and the non-standard extensions do not have to be used.

I have used his compiler, and Pelle's C, on occasion for algorithm
tests where I can write code cleanly and still receive enormous
performance improvements over Microsoft, Borland, and others, merely
because they support C99's inline functions.

Just what are your issues with Jacob and his compiler? I agree,
sometimes his posts stray off-topic, but the notion of adding language
extensions to a compiler is not something he initiated. Indeed, if it
were not for the fact that the C standard is in maintenance mode just
now, the best way to get extensions added to future standards is not
just to propose them, but to point to successful implementations. And
Jacob is doing just that.

Continuing to criticize lcc-win32 without producing examples of
incorrect code if produced, and continuing to criticize Jacob when, as
in this case, there was absolutely nothing off-topic about his reply,
is beginning to make you look like a pompous ass, or perhaps a troll.

How about giving it a rest?

--
Jack Klein
Home: http://JK-Technology.Com
FAQs for
comp.lang.c http://c-faq.com/
comp.lang.c++ http://www.parashift.com/c++-faq-lite/
alt.comp.lang.learn.c-c++
http://www.contrib.andrew.cmu.edu/~a...FAQ-acllc.html
Sep 28 '06 #11
pkirk25 wrote:
I own a legit copy of Visual C++ 6.0

Its nice but it is 10 years old and aimed at C++.

Downloaded Bloodshed Dev-C++

Very nice but the default auto-indent woupd break my heart as I depend
on indentation. This is how a loop is formatted by default.

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
int a = 0, b = 7;

for (a = 0; a <= b; ++a)
{
printf("Hello again\n");
}
system("PAUSE");
return 0;
}

That } that fails to align as it closes the "for" loop really puts me
off. If anyone knows how to fix this, this looks a fine compiler. Is
it good in the opinion of more experienced C programmers?

Is Visual C++ Express a good compiler?

Is there another for the Win32 platform that is recommended?
AMPC is a C compiler (not C++) that you can try. The trial version is
available for download at:
http://www.axiomsol.com/hedesu/fm/

Napi

Sep 28 '06 #12
Jack Klein said:
On Wed, 27 Sep 2006 23:00:49 +0000, Richard Heathfield
<in*****@invalid.invalidwrote in comp.lang.c:
>jacob navia said:
pkirk25 wrote:

Is there another for the Win32 platform that is recommended?

Look lcc-win32 is a compiler system written for developing in C.

But he asked for one that is recommended.

Richard, are you ever going to get your head out of your ass, or has
picking on Jacob become your mission in life?
Not at all. If it is suddenly unacceptable in this newsgroup to point out
errors and sloppy thinking, then I guess someone forgot to include me on
the email circular.
It is one thing, perhaps, to rebuke him when he answers a question by
pointing out a non-standard extension that his compiler has. But your
reply in this particular case smacks of nothing so much as personal
harassment or perhaps a vendetta of some sort.
No, I'm just pointing out that, as far as I'm aware, lcc-win32 is not
recommended by anyone except, it transpires, Mr Navia. Am I wrong? Do you,
for example, recommend lcc-win32?
Just what are your issues with Jacob and his compiler?
I have no issues with Mr Navia or with his compiler. I do, however, take
issue with some of the things Mr Navia says. His statements are often
incorrect and often stray off-topic in a continual bid to draw attention to
his product - which, in a technical newsgroup such as this, constitutes an
abuse. You know this already, I'm sure.

So - when he gets stuff wrong, what are we going to do? Ignore it, because
he maintains a compiler? I Don't Think So.

<snip>

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Sep 28 '06 #13

pkirk25 wrote:
I own a legit copy of Visual C++ 6.0

Its nice but it is 10 years old and aimed at C++.

Downloaded Bloodshed Dev-C++

Very nice but the default auto-indent woupd break my heart as I depend
on indentation. This is how a loop is formatted by default.

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
int a = 0, b = 7;

for (a = 0; a <= b; ++a)
{
printf("Hello again\n");
}
system("PAUSE");
return 0;
}

That } that fails to align as it closes the "for" loop really puts me
off. If anyone knows how to fix this, this looks a fine compiler. Is
it good in the opinion of more experienced C programmers?

Is Visual C++ Express a good compiler?

Is there another for the Win32 platform that is recommended?

VC++ is *NOT* recommended. Because it even does't know the common
sense! When I had to use it in a lab of my university, it even
highlighted the word 'new' and 'this' in my **C** code. And moreover,
it always gives fewer warnings, most of which are proved to be very
important, than gcc.
Dev-C++ is smaller, and I think, it is better than VC++. ;-p

Sep 28 '06 #14
On Thu, 28 Sep 2006 03:32:53 +0000, Richard Heathfield
<in*****@invalid.invalidwrote:
>Jack Klein said:
>On Wed, 27 Sep 2006 23:00:49 +0000, Richard Heathfield
<in*****@invalid.invalidwrote in comp.lang.c:
>>jacob navia said:

pkirk25 wrote:

Is there another for the Win32 platform that is recommended?

Look lcc-win32 is a compiler system written for developing in C.

But he asked for one that is recommended.

Richard, are you ever going to get your head out of your ass, or has
picking on Jacob become your mission in life?

Not at all. If it is suddenly unacceptable in this newsgroup to point out
errors and sloppy thinking, then I guess someone forgot to include me on
the email circular.
>It is one thing, perhaps, to rebuke him when he answers a question by
pointing out a non-standard extension that his compiler has. But your
reply in this particular case smacks of nothing so much as personal
harassment or perhaps a vendetta of some sort.

No, I'm just pointing out that, as far as I'm aware, lcc-win32 is not
recommended by anyone except, it transpires, Mr Navia. Am I wrong? Do you,
for example, recommend lcc-win32?
>Just what are your issues with Jacob and his compiler?

I have no issues with Mr Navia or with his compiler. I do, however, take
issue with some of the things Mr Navia says. His statements are often
incorrect and often stray off-topic in a continual bid to draw attention to
his product - which, in a technical newsgroup such as this, constitutes an
abuse. You know this already, I'm sure.

So - when he gets stuff wrong, what are we going to do? Ignore it, because
he maintains a compiler? I Don't Think So.
One of the questions that Jack asked that you did not answer is:

Have you ever actually installed and used a version of lcc-win32?

What's your answer?

--
jay

Sep 28 '06 #15
I've been playing with C in the evenings for a week now and any
problems I have will not be solved by moving to a newer compiler.

Thanks for the advice and for the chance to try out a few different
options.

Sep 28 '06 #16
pkirk25 wrote:
Jacob,

First off, let me say I respect waht you have already achieved.

As is often the case when people start with flowery openings, I'm
afraid I must say that your compiler is not for me.

For my first try, i just said no to usign a wizard for ny "hello world"
application.

The editor behaves like a DOS EDIT program. No syntax highlighting, no
folding, just a text file. vi with ctags is more user friendly.
Obvious. You named your file "main" and NOT "main.c". The editor
can't know which language you use.
>
Files are saved with the name you give them. My "hello world" failed
to compile because I didn't save the file as main.c as opposed to main.
Yes. Since 30 years (more or less) C programs are saved in files that
have the .c extension. If you want to innovate, sorry but the
editor doesn't know about it.
I then tried the wizard. It presented me with 62 lines of code!
Yes. So what?
Usual options like Ctrl-A for the Editor to Select All didn't work.

As I have no idea which of the 62 lines are essential to my "Hello
World" appliaction and which are not, I quit.
There is a routine to parse arguments, and a help message already
in the skeleton for a program. But if you can't read plain C...
well you have to learn it.

So far, so hard for a learner. Then I did get annoyed about the
documentation.

Documentation in pdf? Really, given that the web is over 15 years old,
there is no excuse for using pdf where html offers more ease of use.
The documentation is in CHM form. You access with the "Help" button in
the IDE. The PDF is a tutorial.
Microsoft with a building full of IDE experts on the Washington campus
edged you. I hope that isn't too hurtful.
No
Thanks for the link and work you have done.
You are welcome.
Sep 28 '06 #17
Richard Heathfield wrote:
pkirk25 said:
>>I own a legit copy of Visual C++ 6.0

Its nice but it is 10 years old and aimed at C++.

It still does C just fine, though. It's a very good C compiler with a fine
IDE. In fact, on the rare occasions when I use Windows, it's my C compiler
of choice. (And I'm Mr Anti-Microsoft!)
Hmmm, that may be true for small to middle projects.
However, the fact that some of the standard headers lead to warnings,
that you cannot rely on the optimisation to produce the same programme
behaviour as unoptimised code, and that it cannot compile and link
projects of a certain size in Debug mode make it a beginners' tool in
my eyes.

As for the last two points: VS2005 looks much better in these respects.
I evaluated it only for a short time, though.
<OT>
For C++ code, I still got many warnings out of standard headers.
Fills one with confidence.
</OT>
Cheers
Michael
--
E-Mail: Mine is an /at/ gmx /dot/ de address.
Sep 28 '06 #18
pkirk25 wrote:
I've been playing with C in the evenings for a week now and any
problems I have will not be solved by moving to a newer compiler.

Thanks for the advice and for the chance to try out a few different
options.
You seemed to look more for an IDE than another compiler.

One recommendation: Turn up the warning level and disable MS extensions.
If your programme does not do what you expect but the compiler issues
no diagnostics, try compiling with gcc on a reasonable warning level,
e.g.
gcc -std=c89 -pedantic -Wall -O myprog.c -c
(the -c will suppress linking).
You can do this either using mingw (which is what Bloodshed uses IIRC)
or via Cygwin (installing Cygwin just for gcc may a little bit much,
though).
Some problems will not be caught by the above; then you can use splint
or other lint programmes.
Cheers
Michael
--
E-Mail: Mine is an /at/ gmx /dot/ de address.
Sep 28 '06 #19
Cong Wang said:

<snip>
>
VC++ is *NOT* recommended.
I wouldn't hesitate to recommend it, certainly anything up to Version 6.
When they went .NET, MS screwed with it somewhat, and I'm not entirely sure
I like the changes they made (translation: I really, really *don't* like
those changes!) - but it's still a reasonable IDE over a reasonable
compiler.
Because it even does't know the common
sense! When I had to use it in a lab of my university, it even
highlighted the word 'new' and 'this' in my **C** code.
Yeah, I know. But despite a few glitches like that, it's a very good
product, and the compiler understands (or rather, correctly chooses not to
understand!) 'new' and 'this' just fine.
And moreover,
it always gives fewer warnings, most of which are proved to be very
important, than gcc.
Have you tried disabling Microsoft extensions and cranking up to warning
level 4? It's no lint, I agree, but it's reasonable nonetheless.
Dev-C++ is smaller, and I think, it is better than VC++. ;-p
Not having used Dev-C++ myself as far as I can remember, I must rely on what
I hear from people I respect who have used it. From such reports, I gather
that it is not sufficiently bad to warn people away from, nor sufficiently
good to rave about and sell your kids into slavery for. :-)

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Sep 28 '06 #20
jaysome said:

<snip>
Have you ever actually installed and used a version of lcc-win32?
Nope. I use Linux. Why would I need lcc-win32?

But until recently, despite never having installed it, I had a link to it on
my Web site, suggesting it as a free compiler that people might like to use
if they happen to be on a Windows platform. I removed the link recently
because, after reading what Mr Navia has had to say in comp.lang.c in the
last few weeks, I lack confidence that the compiler is a conforming C
compiler.

That does not mean I am claiming it is not conforming. It means I lack
confidence that it is conforming. Just recently we discovered here in clc
that it was not conforming in one particular respect, and Mr Navia fixed it
very promptly when it was pointed out, for which he is to be commended. But
I'm wondering how many other non-conformances are lurking therein, given Mr
Navia's rather cavalier statements about pedantry.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Sep 28 '06 #21
Michael Mair said:
Richard Heathfield wrote:
>pkirk25 said:
>>>I own a legit copy of Visual C++ 6.0

Its nice but it is 10 years old and aimed at C++.

It still does C just fine, though. It's a very good C compiler with a
fine IDE. In fact, on the rare occasions when I use Windows, it's my C
compiler of choice. (And I'm Mr Anti-Microsoft!)

Hmmm, that may be true for small to middle projects.
However, the fact that some of the standard headers lead to warnings,
Yes, the most stupid being the // in math.h

But in fact that was the only one I couldn't get rid of, at Warning Level 4.
(Many a time I've been tempted to go and hack math.h into bits.)
that you cannot rely on the optimisation to produce the same programme
behaviour as unoptimised code, and that it cannot compile and link
projects of a certain size in Debug mode make it a beginners' tool in
my eyes.
Check the topic title again. :-)

And in any case I've compiled and linked programs hundreds of KLOC in size
on VStudio without problems. I accept that hundreds of KLOC counts as a
middle-sized project at most, but I doubt whether a much bigger project is
worth developing on Windows, since surely such a large development
investment merits spending a little extra to acquire a stable platform. :-)

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Sep 28 '06 #22
BRG
pkirk25 wrote:

[snip]
Is Visual C++ Express a good compiler?
This depends on your criteria for 'good' but for simple C/C++
development tasks on the Windows platform I would say 'yes' provided you
don't mind the overhead of what is a large package.

The Express compiler has a few limitations (e.g. no 64-bit support) but
the IDE is very good and the compiler comes with an optimiser that is
capable of producing very good code.

However the IDE/compiler is a large package and takes considerable time
to download and install. It also takes up quite a lot of disc space and
you also need the platform SDK if you want to develop code to run on
Windows (the SDK is another large download). Also the documentation,
although extensive, is not ideal for someone who is learning C/C++ since
it is oriented towards professional developers and Windows applications.

So you need to invest time and effort to get up and running with VC++
Express but I think the result will probably justify this investment if
you run Windows.

Brian Gladman
Sep 28 '06 #23
Richard Heathfield wrote:
jaysome said:

<snip>

>>Have you ever actually installed and used a version of lcc-win32?


Nope. I use Linux. Why would I need lcc-win32?

But until recently, despite never having installed it, I had a link to it on
my Web site, suggesting it as a free compiler that people might like to use
if they happen to be on a Windows platform. I removed the link recently
because, after reading what Mr Navia has had to say in comp.lang.c in the
last few weeks, I lack confidence that the compiler is a conforming C
compiler.

I still have your book in the bibliography section in my tutorial.
I am able to distinguish between my personal like/dislike for
a person, and his work, that should be judged independently of the
author.
jacob
Sep 28 '06 #24
[snip]
The Express compiler has a few limitations (e.g. no 64-bit support) but
the IDE is very good and the compiler comes with an optimiser that is
capable of producing very good code.
Brian Gladman
Brian, the IDE is lovely - and based on your advice I skipped the MSDN
download so saved 3.8 gigs of disk space and probably will be in much
the same position I am now - Google is the ultimate manual.

Many thanks.

Sep 28 '06 #25
jacob navia said:
Richard Heathfield wrote:
>>
But until recently, despite never having installed it, I had a link to it
on my Web site, suggesting it as a free compiler that people might like
to use if they happen to be on a Windows platform. I removed the link
recently because, after reading what Mr Navia has had to say in
comp.lang.c in the last few weeks, I lack confidence that the compiler is
a conforming C compiler.

I still have your book in the bibliography section in my tutorial.
I am able to distinguish between my personal like/dislike for
a person, and his work, that should be judged independently of the
author.
What has liking or disliking to do with it? I can't abide Microsoft, but I
still provide a link to their compiler.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Sep 28 '06 #26
pkirk25 said:
I skipped the MSDN
download so saved 3.8 gigs of disk space and probably will be in much
the same position I am now - Google is the ultimate manual.
And anyway MSDN can be found at http://msdn.microsoft.com so you simply
browse the bits you need when you need them. Handy for Win32 stuff. For C
stuff, though, I suggest a decent C reference book rather than MSDN!

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Sep 28 '06 #27

BRG wrote:
pkirk25 wrote:
Actually, while it looks nice enough, it doesn't compile my existing C
code.

..\parameters.cpp(13) : error C2440: 'initializing' : cannot convert
from 'void *' to 'char *'
Conversion from 'void*' to pointer to non-'void' requires an
explicit cast

Also it swaps you in warnings like
..\parameters.cpp(38) : warning C4996: 'strcpy' was declared deprecated

Sep 28 '06 #28
"pkirk25" <pa*****@kirks.netwrites:

[about some implementation]
Actually, while it looks nice enough, it doesn't compile my existing C
code.

.\parameters.cpp(13) : error C2440: 'initializing' : cannot convert
from 'void *' to 'char *'
Conversion from 'void*' to pointer to non-'void' requires an
explicit cast
A file whose name ends in .cpp is generally C++, not C. That's a
C++-specific error. Try renaming it to parameters.c.
--
Here's a tip: null pointers don't have to be *dull* pointers!
Sep 28 '06 #29
"pkirk25" <pa*****@kirks.netwrote in
news:11**********************@h48g2000cwc.googlegr oups.com:
>
BRG wrote:
>pkirk25 wrote:
Actually, while it looks nice enough, it doesn't compile my
existing C code.

.\parameters.cpp(13) : error C2440: 'initializing' : cannot
convert from 'void *' to 'char *'
Conversion from 'void*' to pointer to non-'void'
requires an
explicit cast

Also it swaps you in warnings like
.\parameters.cpp(38) : warning C4996: 'strcpy' was declared
deprecated
C is not C++, remember. If your file names are *.cpp, I'm dubious
that your compiler is trying to compile them as C.

--
rzed
Sep 28 '06 #30

"pkirk25" <pa*****@kirks.netwrote
>I own a legit copy of Visual C++ 6.0

Its nice but it is 10 years old and aimed at C++.
A ten year old compiler will be worn out by now.
Personally I never go more than three years with a car, for example.
Get a brand new one.
--
www.personal.leeds.ac.uk/~bgy1mm
freeware games to download.
Sep 28 '06 #31
BRG
pkirk25 wrote:
BRG wrote:
>pkirk25 wrote:
Actually, while it looks nice enough, it doesn't compile my existing C
code.

.\parameters.cpp(13) : error C2440: 'initializing' : cannot convert
from 'void *' to 'char *'
Conversion from 'void*' to pointer to non-'void' requires an
explicit cast

Also it swaps you in warnings like
.\parameters.cpp(38) : warning C4996: 'strcpy' was declared deprecated
The IDE will normally compile files with the 'cpp' extension as C++
rather than C.

Somewhat annoyingly it will even compile files with the 'c' extension as
C++ as well unless you turn off this 'feature' in the property page for
the project and/or file concerned (this option is under C/C++|Advanced
in the property dialogue).

Why it has been set to behave like this as default is beyond me (I don't
think this is caused by my own configuration but it might be).

Brian
Sep 28 '06 #32
Malcolm wrote:
A ten year old compiler will be worn out by now.
Personally I never go more than three years with a car, for example.
When the wheels fall off my 1991 Volvo... or more realistically, the
first time I have paid in maintenance costs some amount approaching the
amount that financing a new car with the same performance
characteristics would cost during an equivalent period, I will start to
think about the possibility of buying a new car.
Sep 28 '06 #33
On Thu, 28 Sep 2006 00:46:29 +0200, in comp.lang.c , jacob navia
<ja***@jacob.remcomp.frwrote:
>pkirk25 wrote:
>I own a legit copy of Visual C++ 6.0

Is there another for the Win32 platform that is recommended?
Look lcc-win32 is a compiler system written for developing in C.
Jacob should have mentioned that he is the owner of lcc-win32.

Personally I consider it a little naughty not to mention a personal
interest when one exists, however thats my preference.
--
Mark McIntyre

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it."
--Brian Kernighan
Sep 28 '06 #34
On Thu, 28 Sep 2006 16:01:45 +0200, in comp.lang.c , jacob navia
<ja***@jacob.remcomp.frwrote:
>Richard Heathfield wrote:
>jaysome said:

<snip>

>>>Have you ever actually installed and used a version of lcc-win32?


Nope. I use Linux. Why would I need lcc-win32?

But until recently, despite never having installed it, I had a link to it on
my Web site, suggesting it as a free compiler that people might like to use
if they happen to be on a Windows platform. I removed the link recently
because, after reading what Mr Navia has had to say in comp.lang.c in the
last few weeks, I lack confidence that the compiler is a conforming C
compiler.

I am able to distinguish between my personal like/dislike for
a person, and his work, that should be judged independently of the
I believe Richard has made it more than totally clear in his above
comment that this is /precisely/ what he is doing.
--
Mark McIntyre

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it."
--Brian Kernighan
Sep 28 '06 #35
On Thu, 28 Sep 2006 01:12:11 +0200, in comp.lang.c , jacob navia
<ja***@jacob.remcomp.frwrote:
>Richard Heathfield wrote:
>pkirk25 said:
>>>I own a legit copy of Visual C++ 6.0

Its nice but it is 10 years old and aimed at C++.

It still does C just fine, though. It's a very good C compiler with a fine
IDE. In fact, on the rare occasions when I use Windows, it's my C compiler
of choice. (And I'm Mr Anti-Microsoft!)
The flaw that I pointed out doesn't disturb you of course:
<snip code example>
>The libraries are not in phase with the compiler (gcc).
The program compiles with no warnings under Bloodshed,
but it gives wrong results.
I'm struggling to understand why you think a flaw in Bloodshed is even
remotely relevant to Richard's comment about Visual C++ 6.0
>What flaws are concerned, you seem to be very selective...
Or possibly, he reads carefully before typing.
--
Mark McIntyre

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it."
--Brian Kernighan
Sep 28 '06 #36
On Thu, 28 Sep 2006 10:29:28 +0200, in comp.lang.c , Michael Mair
<Mi**********@invalid.invalidwrote:
>Richard Heathfield wrote:
>pkirk25 said:
>>>I own a legit copy of Visual C++ 6.0

Its nice but it is 10 years old and aimed at C++.

It still does C just fine, though. It's a very good C compiler with a fine
IDE. In fact, on the rare occasions when I use Windows, it's my C compiler
of choice. (And I'm Mr Anti-Microsoft!)

Hmmm, that may be true for small to middle projects.
However, the fact that some of the standard headers lead to warnings,
that you cannot rely on the optimisation to produce the same programme
behaviour as unoptimised code, and that it cannot compile and link
projects of a certain size in Debug mode make it a beginners' tool in
my eyes.
Euh, you might want to point that out to the many major international
companies who used it extensively in its time.

For what its worth I dispute all three of your findings too (two of
them entirely, and one somewhat), but heck, this isn't a Microsoft
advocacy group, nor yet one discussing MSVC so...

--
Mark McIntyre

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it."
--Brian Kernighan
Sep 28 '06 #37
On 28 Sep 2006 12:24:42 -0700, in comp.lang.c , "pkirk25"
<pa*****@kirks.netwrote:
>
BRG wrote:
>pkirk25 wrote:
Actually, while it looks nice enough, it doesn't compile my existing C
code.

.\parameters.cpp(13) : error C2440: 'initializing' : cannot convert
from 'void *' to 'char *'
Conversion from 'void*' to pointer to non-'void' requires an
explicit cast

Also it swaps you in warnings like
.\parameters.cpp(38) : warning C4996: 'strcpy' was declared deprecated

These are C++ errors, generated because you're letting the GUI name
your files for you and by default it calls them .cpp.
Go to Folder Options in Explorer, and tell it NOT to hide extensions
on files, this is anyway just a security flaw as it lets virus writers
drop files on your computer and hide the fact they're executables.
--
Mark McIntyre

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it."
--Brian Kernighan
Sep 28 '06 #38
Malcolm wrote:
>
"pkirk25" <pa*****@kirks.netwrote
I own a legit copy of Visual C++ 6.0

Its nice but it is 10 years old and aimed at C++.
A ten year old compiler will be worn out by now.
Personally I never go more than three years with a car, for example.
Get a brand new one.

I'm still driving my 1995 full-sized Bronco, and plan to for many years
to come, thank you very much. New cars are a ludicrous waste of money,
I never buy one unless it's at least four years old. Get ones with low
mileage (international - kilometerage) and let the fool new-car buyer
take the big depreciation hit.


Brian
Sep 28 '06 #39

"Richard Heathfield" <in*****@invalid.invalidwrote in message
news:Cd******************************@bt.com...
That does not mean I am claiming it is not conforming. It means I lack
confidence that it is conforming.
Use a Microsoft compiler. They are notorious for non-conformance. Just
read the comments by Michal Necasek (lead maintainer for OpenWatcom) on
openwatcom.contributors or openwatcom.users.c_cpp. Or, look at GCC C99
compliance page or GCC extensions page. The point that you lack confidence
is rather meaningless when most of the strong competitors to lcc-win32 fail
on conformance...
Rod Pemberton
Sep 28 '06 #40
Rod Pemberton said:
>
"Richard Heathfield" <in*****@invalid.invalidwrote in message
news:Cd******************************@bt.com...
>That does not mean I am claiming it is not conforming. It means I lack
confidence that it is conforming.

Use a Microsoft compiler. They are notorious for non-conformance.
Microsoft's conformance to C90 is actually very good. I have seen a couple
of tiny nits raised here on comp.lang.c, in such dark corners of the
language that I need never fear encountering them in real life.
Just
read the comments by Michal Necasek (lead maintainer for OpenWatcom) on
openwatcom.contributors or openwatcom.users.c_cpp.
Have you a more specific reference?
Or, look at GCC C99 compliance page
I have never claimed that gcc is C99-conforming. Indeed, I have claimed the
opposite many times. I'm not sure what this has to do with anything.
or GCC extensions page. The point that you lack
confidence is rather meaningless when most of the strong competitors to
lcc-win32 fail on conformance...
Show me.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Sep 28 '06 #41
http://www.wxwidgets.org/wiki/index....ET_Setup_Guide

Works perfectly now.

I understand that a compiler does not need replacment as often as a
car. But new cars have air conditioning which makes them very
comfortable.

Sep 29 '06 #42
[snip
These are C++ errors, generated because you're letting the GUI name
your files for you and by default it calls them .cpp.
Spot on Mark. It took me a good 20 minutes of puzzling to realise that
the reason some files were failing to compile was the .cpp extension
which I had lazily let MS use while I was experimenting.

Thanks.

Sep 29 '06 #43
On Thu, 28 Sep 2006 17:34:29 -0400, in comp.lang.c , "Rod Pemberton"
<do*********@bitfoad.cmmwrote:
>
"Richard Heathfield" <in*****@invalid.invalidwrote in message
news:Cd******************************@bt.com...
>That does not mean I am claiming it is not conforming. It means I lack
confidence that it is conforming.

Use a Microsoft compiler. They are notorious for non-conformance.
This isn't true. MS complies pretty well with C89/90 if you turn off
their extensions.

--
Mark McIntyre

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it."
--Brian Kernighan
Sep 29 '06 #44
"pkirk25" <pa*****@kirks.netwrote in
>
Works perfectly now.

I understand that a compiler does not need replacment as often as a
car. But new cars have air conditioning which makes them very
comfortable.
The car analogy was just a joke.
Some women change clothes or hairstyles or whatever with a given frequency,
and get very self-righteous about maintaining standards. Of course most
people can't afford to do that with a car, though a few can.

Compilers work until the hardware or the software they are meant to work
with becomes obsolete.
--
www.personal.leeds.ac.uk/~bgy1mm
freeware games to download.
Sep 30 '06 #45
"Jack Klein" <ja*******@spamcop.netwrote in message
news:p4********************************@4ax.com...
On Wed, 27 Sep 2006 23:00:49 +0000, Richard Heathfield
<in*****@invalid.invalidwrote in comp.lang.c:
Just what are your issues with Jacob and his compiler?
Ummm, his web site has a link that says "Click me". But it doesn't do
anything.

Why would it say click me and then not do anything...?

I mean, that's just mean...

--
Mabden
Oct 2 '06 #46
"pkirk25" <pa*****@kirks.netwrote:
Downloaded Bloodshed Dev-C++

Very nice but the default auto-indent woupd break my heart as I depend
on indentation.
You can turn that off, you know.

Richard
Oct 3 '06 #47

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

22
by: larry | last post by:
I was just looking at a demo training that mindleaders has on .net training: http://www.mindleaders.com/products/democourse3.asp And I don't believe this is correct or at least is misleading...
0
by: Simon | last post by:
I've had enough of C# Learner. I've had enough of his complaining about using parentheses for every 'if' statement. I've had enough of his complaining about having to mix assignment of return...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.