473,881 Members | 1,644 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

good c compiler

howdy!

please recommend a good c compiler.

- should be small
- should be fast
- should come with a good ide
- should be inexpensive

i am using windows os.

awaiting replies.
Sep 23 '08
159 7163
On Sep 24, 2:01*am, Richard Heathfield <rj*@see.sig.in validwrote:
s0****@gmail.co m said:
On Sep 24, 1:34 am, Richard Heathfield <rj*@see.sig.in validwrote:
s0****@gmail.co m said:
On Sep 24, 1:07 am, Richard Heathfield <rj*@see.sig.in validwrote:
s0****@gmail.co m said:
<snip>
I see you still hold the absurd position that a
non-fully-conforming compiler "isn't a C compiler"...
I see you still hold the absurd position that C compilers are not
obliged to implement the C language correctly.
Where did I say that C compilers are not obliged to implement the C
language correctly?
If you agree that C compilers *are* obliged to implement the C language
correctly, you share my "absurd" position that a non-fully-conforming
compiler isn't a C compiler.
No, because fully-conforming is not the same as correctly.

If an implementation does not translate C programs according to the C
language definition, how can it be considered a C implementation?
Perhaps it does translate programs according to the language
definition, but it lacks a set of features. Perhaps it adds a set of
features. Perhaps it imposes modifications on a set of features. This
sort of things are common among C implementations , and that doesn't
prevent them from being C implementations .
Remember
that dereferencing an uninitialized pointer can cause a fully-
conforming implementation to execute the "rm -rf /" command. I don't
know about you, but I don't consider that "correctnes s".

The incorrectness is in the program, not the implementation.
Sure, the program incorrectly dereferences a pointer that it
shouldn't. But I was talking about the compiler executing that command
under that circumstance. Thankfully, I can now see your notion of
"correctnes s".
But you merely
place an *additional* constraint on C implementations , the constraint of
"reasonableness ", the constraint of "not deliberately setting out to wreak
revenge on the hapless programmer"
Hapless? I thought you had agreed that even the most experienced
programmer will make this sort of mistake.
- and of course mainstream
implementations do observe this constraint. Nevertheless, programmers
would do well to stick to the rules of C if they wish their code to work.
<snip>

The point is that the word "conformanc e" is very meaningless in the
context of C, unless you add that magical ingredient: common sense.
Without it, a conforming implementation is some sort of program that
can blow up your machine or make demons fly out of your nose. And when
you do take common sense into account, you'll realize that what
*really* is important in a C implementation, which you don't seem to
see now, and which isn't full conformance.

Sebastian

Sep 24 '08 #21
On 23 Sep, 23:33, bernard <nos...@nospam. invalidwrote:
howdy!
yo
please recommend a good c compiler.

- should be small
why? This is a serious question. Modern hardware comes
with vast resources for low prices. Are you running
your compiler on a toaster or something?
- should be fast
- should come with a good ide
- should be inexpensive

i am using windows os.
Microsoft provide a free version of their compiler.
Look for "express"
awaiting replies.
I'm not sure what that means
--
Nick Keighley

Sep 24 '08 #22
On Sep 24, 2:06*am, "cr88192" <cr*****@NOSPAM .hotmail.comwro te:
"Richard Heathfield" <rj*@see.sig.in validwrote in message

news:1M******** *************** *******@bt.com. ..
s0****@gmail.co m said:
<snip>
I see you still hold the absurd position that a non-fully-conforming
compiler "isn't a C compiler"...
I see you still hold the absurd position that C compilers are not obliged
to implement the C language correctly. I don't see how this view excludes,
say, the GFA BASIC compiler from being a C compiler. In fact, I don't see
how it excludes a garden fork or a cup of coffee from being a C compiler.

forall A (A or not A)

not a very useful way to think IMO.

if something accepts and compiles C (for the vast majority of inputs), even
if imperfectly in some edge cases, and offers a few extensions, it can still
be classified as a C compiler IMO.

the other things listed, however, will not compile any valid C programs....

it is much the same as if someone goes and declares that someone goes to
hell if they have ever become aroused, and that arousal is of an analogous
level of guilt to adultery (even if the person in question is not married,
the logic can be followed out this way).

this position is absurd (and yes, some people go in this direction in terms
of their doctrine).

so, please refrain from this style of thinking, it is silly...
--
Richard Heathfield <http://www.cpax.org.uk >
Email: -http://www. +rjh@
Google users: <http://www.cpax.org.uk/prg/writings/googly.php>
"Usenet is a strange place" - dmr 29 July 1999

Sep 24 '08 #23
(Oops, sorry for my empty previous post.)

On Sep 24, 2:06*am, "cr88192" <cr*****@NOSPAM .hotmail.comwro te:
"Richard Heathfield" <rj*@see.sig.in validwrote in message

news:1M******** *************** *******@bt.com. ..
s0****@gmail.co m said:
<snip>
I see you still hold the absurd position that a non-fully-conforming
compiler "isn't a C compiler"...
I see you still hold the absurd position that C compilers are not obliged
to implement the C language correctly. I don't see how this view excludes,
say, the GFA BASIC compiler from being a C compiler. In fact, I don't see
how it excludes a garden fork or a cup of coffee from being a C compiler.

forall A (A or not A)

not a very useful way to think IMO.

if something accepts and compiles C (for the vast majority of inputs), even
if imperfectly in some edge cases, and offers a few extensions, it can still
be classified as a C compiler IMO.

the other things listed, however, will not compile any valid C programs....

it is much the same as if someone goes and declares that someone goes to
hell if they have ever become aroused, and that arousal is of an analogous
level of guilt to adultery (even if the person in question is not married,
the logic can be followed out this way).

this position is absurd (and yes, some people go in this direction in terms
of their doctrine).

so, please refrain from this style of thinking, it is silly...
Thanks for bringing some common sense into this Dark World Of
Nonsense.

Sebastian

Sep 24 '08 #24
On 24 Sep, 08:03, jacob navia <ja...@nospam.c omwrote:
Richard Heathfield wrote:
The lcc-win32 compiler /used/ to be on the list, but I took it off when I
realised that the maintainer wasn't particularly concerned about
conformance (a position that he has made abundantly clear on many
occasions by his impatience towards reports of conformance errors in his
compiler).

This is a lie by somebody that has made abundantly clear that
he hates my compiler. I have worked years implementing C99, and I have
now an implementation that is not missing any important feature.
good grief.

I was just about to suggest to Richard that he add lcc-win
back onto the list of free compilers as near compliance as
opposed to full compliance is good enough. Perhaps with a
caveat that it is only free for non-commercial use (this
isn't a criticism) and that it has a few compliance holes
(but then all real-world compilers probably do). But your
post kind of illustrates your attitude to compliance.
--
Nick Keighley
Sep 24 '08 #25
s0****@gmail.co m wrote:
Terminology disagreements. Let's forget them.
If we forget them
Then our languages will confuse
One and another.

Let us remember our disagreements
But without making them
occasions of turbulence.

[Turbulence
is off-topic
in comp.lang.c.]

--
'It changed the future .. and it changed us.' /Babylon 5/

Hewlett-Packard Limited registered office: Cain Road, Bracknell,
registered no: 690597 England Berks RG12 1HN

Sep 24 '08 #26
"Richard Heathfield" <rj*@see.sig.in validwrote in message
news:Hu******** *************** *******@bt.com. ..
s0****@gmail.co m said:
>Is the 'lcc' compiler listed below the 'The Digital Mars C compiler'
the same as Jacob's lcc-win?

As I understand it, Jacob Navia took the lcc source code and used it as
the
basis for lcc-win32. So the answer to your question is really "it was,
once, but is no longer".

The lcc-win32 compiler /used/ to be on the list, but I took it off when I
realised that the maintainer wasn't particularly concerned about
conformance (a position that he has made abundantly clear on many
occasions by his impatience towards reports of conformance errors in his
compiler). It's a list of C compilers, not a list of "ain't my language
cute and by the way doesn't it look a bit like C?" compilers.
I use lcc-win32 for compiling code appearing on c.l.c. In that regard, it
performs quite adequately. So I would call it a C compiler.

I also use Mingw and DMC for second opinions. I once used Pelles C too but I
can't get that working again.

I've also just looked at lcc on your list, but since it seems to be
distributed as source code, I couldn't actually run it (lcc42.zip). So
lcc-win32 is much more use here than lcc, for someone running Windows.

--
Bartc

Sep 24 '08 #27
s0****@gmail.co m wrote:
>
The point is that the word "conformanc e" is very meaningless in the
context of C, unless you add that magical ingredient: common sense.
Without it, a conforming implementation is some sort of program that
can blow up your machine or make demons fly out of your nose. And when
you do take common sense into account, you'll realize that what
*really* is important in a C implementation, which you don't seem to
see now, and which isn't full conformance.
heathfield has no common sense, it is useless to discuss with him.

The Digital Mars C compiler, for instance, that he recommends in
his page features design by contract:

__in {
assert(pre-conditions);
}
__out {
assert(post-conditions)
}

The extensions of Digital Mars are OK, since there isn't even a hint
of a "warning" in that web page. Extensions done by lcc-win however
are BANNED since it is my compiler.

It is useless to ask for common sense to such a person.

--
jacob navia
jacob at jacob point remcomp point fr
logiciels/informatique
http://www.cs.virginia.edu/~lcc-win32
Sep 24 '08 #28
s0****@gmail.co m said:
On Sep 24, 2:01 am, Richard Heathfield <rj*@see.sig.in validwrote:
<snip>
>>
If an implementation does not translate C programs according to the C
language definition, how can it be considered a C implementation?

Perhaps it does translate programs according to the language
definition, but it lacks a set of features.
If the features are required for conformance, then it is only translating
programs according to a subset of the language definition.
Perhaps it adds a set of features.
That's fine, as long as the extensions don't break strictly conforming
programs.
Perhaps it imposes modifications on a set of features.
If that affects the behaviour of strictly conforming programs, it means the
compiler isn't a C compiler.
This
sort of things are common among C implementations , and that doesn't
prevent them from being C implementations .
Actually, it does (not including extensions which don't break strictly
conforming programs).
Remember
that dereferencing an uninitialized pointer can cause a fully-
conforming implementation to execute the "rm -rf /" command. I don't
know about you, but I don't consider that "correctnes s".

The incorrectness is in the program, not the implementation.

Sure, the program incorrectly dereferences a pointer that it
shouldn't. But I was talking about the compiler executing that command
under that circumstance.
It would not render the implementation non-conforming. It would merely
render it useless except, perhaps, for "education with extreme prejudice".
Conformance and usefulness are orthogonal. Something need not be a
conforming C implementation to be useful, and a conforming C compiler
might not be useful (for reasons such as we have explored above).
Nevertheless, many conforming C implementations are useful.
Thankfully, I can now see your notion of "correctnes s".
I doubt it.
>
>But you merely
place an *additional* constraint on C implementations , the constraint of
"reasonablenes s", the constraint of "not deliberately setting out to
wreak revenge on the hapless programmer"

Hapless? I thought you had agreed that even the most experienced
programmer will make this sort of mistake.
Yes. It seems you don't know what "hapless" means. It means "unlucky" or
"unfortunat e". Even the most experienced programmer can be unfortunate
enough to have a lapse of attention.
>- and of course mainstream
implementation s do observe this constraint. Nevertheless, programmers
would do well to stick to the rules of C if they wish their code to
work.
<snip>

The point is that the word "conformanc e" is very meaningless in the
context of C,
On the contrary, the very definition of C has the concept written right
through it. Variants on the word "conform" appear 39 times in my ANSI C
draft, and 54 times in my copy of 9899:1999.
unless you add that magical ingredient: common sense.
Common sense suggests to me that, for an implementation to be considered a
C implementation, it has to follow the rules of C.
Without it, a conforming implementation is some sort of program that
can blow up your machine or make demons fly out of your nose.
Certainly true, insofar as the rules of conformance don't forbid it. So
what?
And when
you do take common sense into account, you'll realize that what
*really* is important in a C implementation, which you don't seem to
see now, and which isn't full conformance.
Full conformance is important to people who need to be able to move their C
programs between one implementation and another. It seems clear to me that
you are not one such person. If that is so, it is not surprising that you
are not particularly fussed about conformance. Nevertheless, there are
people who *rely* on the conformance of compilers to the Standard, because
their programs are *required* to be portable. And there are more such
people than you appear to realise.

--
Richard Heathfield <http://www.cpax.org.uk >
Email: -http://www. +rjh@
Google users: <http://www.cpax.org.uk/prg/writings/googly.php>
"Usenet is a strange place" - dmr 29 July 1999
Sep 24 '08 #29
jacob navia said:

<snip>
The extensions of Digital Mars are OK, since there isn't even a hint
of a "warning" in that web page. Extensions done by lcc-win however
are BANNED since it is my compiler.
Wrong. Extensions that don't break any strictly conforming program do not
compromise conformance.
It is useless to ask for common sense to such a person.
It is useless to criticise me for holding positions that I don't actually
hold.

--
Richard Heathfield <http://www.cpax.org.uk >
Email: -http://www. +rjh@
Google users: <http://www.cpax.org.uk/prg/writings/googly.php>
"Usenet is a strange place" - dmr 29 July 1999
Sep 24 '08 #30

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

Similar topics

30
3536
by: Christian Seberino | last post by:
How does Ruby compare to Python?? How good is DESIGN of Ruby compared to Python? Python's design is godly. I'm wondering if Ruby's is godly too. I've heard it has solid OOP design but then I've also heard there are lots of weird ways to do some things kinda like Perl which is bad for me. Any other ideas?
1
13299
by: lovens weche | last post by:
Is there a good editor that can be used with a 32 bit compiler under the MS-Dos platform? I used to use the Watcom C++ 11 compiler but the editor that came with it (VI if I remeber) was not that great, in fact it was horrible. I'm searching for a Borland C++ style editor and a good C++ 32 bit compiler. Doesn't really matter if the compiler doesn't optimize the code. Thanx in advance... Lovens
7
6181
by: Kyle Stevens | last post by:
Does anyone know of and good, and free, C++ compiler programs and where I might download them?
3
1959
by: happy | last post by:
I am searching over the net for a Good C compiler that has good editor .. Tc 2.01 has bad editor . please advice me with aweb site for downloading the godd Editor C compiler NOT C++. Thanks
9
3034
by: myhotline | last post by:
Hi all, After googling i came across Pelles C, is it a good C compiler over Windows( I am using Windows Xp )...Though Pelles C website says its a C99-compliant compiler, even though i would like somebody to tell me abnout this C99-COmpliance? Are there any other good C99-compliant comilers available for windows....please do let me know.... Any cooperation at earliest will be highly appreciated... REgards -Ahmed
43
2682
by: Sensei | last post by:
Hi! I'm thinking about a good programming style, pros and cons of some topics. Of course, this has nothing to do with indentation... Students are now java-dependent (too bad) and I need some serious motivations for many issues... I hope you can help me :) I begin with the two major for now, others will come for sure! - function variables: they're used to java, so no pointers. Personally I'd use always pointers, but why could be better...
87
3867
by: H. | last post by:
I am a student taking a machine structures class in a university, which includes learning C. I am looking for a good freeware or shareware compiler which can be used in a "C only" mode. C++ isn't allowed in assignments, and I would like the compiler to check for C syntax instead of C++ syntax. Besides that, ease of use for a beginner and basic debugging capabilities are important. Suggestions are welcome.
244
9675
by: Ajinkya | last post by:
Can anyone suggest me a good compiler for(c/cpp) for windows? I tried dev cpp but its debugging facility is very poor.
23
3162
by: tonytech08 | last post by:
What I like about the C++ object model: that the data portion of the class IS the object (dereferencing an object gets you the data of a POD object). What I don't like about the C++ object model: that most OO features are not available for class object design without loss of POD-ness. So, I'm more than leaning toward "bad" because of the limitations and
0
11100
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10718
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10816
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 Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
10401
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 protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
7953
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 presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5781
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5977
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4597
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
4196
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

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.