C99 IDE for windows

R

Ron Ford

No, all of the major new features in C99 had already been implemented at
least once before the standard was approved. C99's problems are many:
lack of competition in the C compiler marketplace, lack of consumer
demand for full compliance, lack of resources (they're all busy trying
to implement C++), and incompatibility with existing extensions, just to
name a few big ones.

I don't know what other syntaxes have standards other than C, C++ and
fortran, so I'm not sure how well a person can draw on the histories.
Since F2003 has a feature that has never been realized in fortran and it's
a stumbling block for *all* implementations, I wonder if it ever happens
that a standard rolls back on a feature.

The muckity mucks are enclaving to approve a new standard (F08) with *zero*
currently-conforming implementations. Has this situation ever occured in C
or some other standardized syntax?
 
R

Ron Ford

Ron Ford wrote, On 20/07/08 04:10:
Please create an account and update anything that needs updating. It's a
Wiki and will only be as accurate and up to date as the last edit.

It doesn't augur well for my editting skills that I can't find a means to
create an account. In the text, there is to be some control to click on at
the top of the page that is not a control I could find.

I use wiki frequently and have wondered how to contribute. The latest
mistake I saw was in the wiki for the play "Bedroom Farce" where the
characters are characterized as "philanderers." There's a grand total of
one kiss exchanged in the entire play.
 
K

Keith Thompson

Flash Gordon said:
Willem wrote, On 20/07/08 10:30:

No, alloca() is not part of any C standard, so using it does not
really prove that there is a problem.

Well, it doesn't prove that there's a *conformance* problem. If a
compiler is going to support alloca(), it would be nice if using it
didn't break VLAs. But that might not be practical, and the standard
doesn't require it.

One possible issue with VLAs is that a VLA is block-scoped, not
function-scoped (which I think Willem was alluding to above) --
<OT>whereas the memory allocated by alloca() is deallocated on
returning from the enclosing function</OT>.
 
L

lovecreatesbea...

I'm looking for a freeware c99 compiler for windows.  I had intended to use
MS's Visual C++ Express and use its C capability.  In the past with my MS
products, I've simply needed to make .c the filetype to invoke the C
compiler.  Here's a link

http://www.microsoft.com/express/download/#webInstall

The download is 2.6 megs, which is near a reasonable size for a compiler,
but then setup.exe wants to download 87 megs of dot net framework hoggs
that I don't want on my machine.

In the past I've gone with Bloodshed, but I find myself unable to get the
shell to stay open so I can see some output.

The development environment for gcc is austere.

Anyone have another suggestion?

You can try Eclipse and have the plug-in CDT (C/C++ Development Tool)
equipped together. The combination requires other compiler and
debugger.
 
L

lawrence.jones

Ron Ford said:
I don't know what other syntaxes have standards other than C, C++ and
fortran, so I'm not sure how well a person can draw on the histories.

ADA, Algol, APL, Basic, COBOL, Modula-2, Pascal, and PL/I, just to name
a few.
Since F2003 has a feature that has never been realized in fortran and it's
a stumbling block for *all* implementations, I wonder if it ever happens
that a standard rolls back on a feature.

Yes, it happens, but it's very unusual.
The muckity mucks are enclaving to approve a new standard (F08) with *zero*
currently-conforming implementations. Has this situation ever occured in C
or some other standardized syntax?

Not in C, but I believe it has happened in C++ and probably in other
languages as well.
 
R

Ron Ford

If you (Ron Ford) do that be VERY cautious about portability. It
appears that lcc-win does not detect various forbidden constructs
under C99, besides omitting several required things. It will
probably improve, but the author tends to resist suggestions. I
believe it also lacks version numbers, making it hard to keep track
of revisions.



I've used Jacob's lcc before and profited from it. At the time, I was
realizing that MVC6 wasn't going to do a lot of the things that I wanted
from a C99 compiler. Lcc helped me understand what I was looking for. In
particular, I remember finding the appropriate headers there for the first
time.

Meanwhile, Jacob has become less popular in clc, which I didn't think was
possible, and I've seen posts of his that looked angry and deranged, if not
drunk. For the record, I just wanted to state that the reason I didn't
download lcc was that I couldn't imagine wanting to admit to having a
problem and having to disclose that I was using lcc. I don't mean this as
a personal attack on Jacob, but I hope that he knows I like Frenchmen a
hell of lot better than my butthead Texas neighbors.

Another reason that I didn't go with lcc is that I'm looking for a compiler
for a specific purpose and think I've found a winner with WINAVR from
Atmel:

2.1 Manifest

GNU Binutils 2.18
Binary utilities for AVR target (including assembler, linker, etc.).

GNU Compiler Collection (GCC) 4.3.0
C language and C++ language compiler for AVR target. There are
caveats for using the C++ compiler. See the installed avr-libc
User Manual in the <InstallDir>\doc directory.

avr-libc CVS snapshot (1.6 branch, post 1.6.2)
C Standard Library for AVR.

AVR-Ada 0.5.2
Run Time System for the Ada compiler.
(Removed temporarily)

AVRDUDE 5.5
avrdude is an open source programmer software that is user extensible.

GNU Debugger (GDB) / Insight 6.6
GDB is a command-line debugger. Insight is GDB with a GUI!

AVaRICE 2.7
avarice is a program for interfacing the Atmel JTAG ICE to GDB and users
can debug their AVR. Use it in conjunction with GDB.

SimulAVR 0.1.2.5
simulavr is used in conjunction with GDB to provide AVR simulation.

SRecord 1.38
SRecord is a collection of powerful tools for manipulating EPROM load
files.
It reads and writes numerous EPROM file formats, and can perform many
different manipulations.

MFile
An automatic makefile generator for AVR GCC.

Programmers Notepad 2.0.7.667-devel
Programming editor and IDE. This editor includes the Scintilla editor
component.

//end abridged manifest

For interested parties:
http://winavr.sourceforge.net/
 
J

jacob navia

Ron Ford wrote:
[snip]
I've used Jacob's lcc before and profited from it. At the time, I was
realizing that MVC6 wasn't going to do a lot of the things that I wanted
from a C99 compiler. Lcc helped me understand what I was looking for. In
particular, I remember finding the appropriate headers there for the first
time.

OK, so you used my work and it was useful for you. Nice.
Meanwhile, Jacob has become less popular in clc, which I didn't think was
possible,

Why should I be popular with the "regulars" here? I am completely
opposed to that people.
and I've seen posts of his that looked angry and deranged, if not
drunk.

An example of a "drunk" post is yours. See below.
For the record, I just wanted to state that the reason I didn't
download lcc was that I couldn't imagine wanting to admit to having a
problem and having to disclose that I was using lcc.

So, since I am not "popular" with the regulars here, you are afraid
of "disclosing" that my work was useful to you. You fear that the
regulars will leave you out in the cold, poor soul...
 
K

Kenny McCormack

Ron Ford wrote: ....

So, since I am not "popular" with the regulars here, you are afraid
of "disclosing" that my work was useful to you. You fear that the
regulars will leave you out in the cold, poor soul...

That *is* basically what it boils down to. Assuming that you
(hypothetical "you") are so desperate for help (say, to escape brutal
third world squalor) that you're willing to take it from the jerks of
CLC, then it *is* in your interest to not be seen as being friendly with
Jacob. The regs will not look kindly upon that.

All of life is just the grade school playground. Most of us never
mature beyond that point. And CLC is demonstrable proof of this.
 
R

Ron Ford

That *is* basically what it boils down to. Assuming that you
(hypothetical "you") are so desperate for help (say, to escape brutal
third world squalor) that you're willing to take it from the jerks of
CLC, then it *is* in your interest to not be seen as being friendly with
Jacob. The regs will not look kindly upon that.

All of life is just the grade school playground. Most of us never
mature beyond that point. And CLC is demonstrable proof of this.

I don't fear disclosing that Jacob's work has been useful to me. I just
did.

My current project has to do with embedded systems, and lcc isn't the best
tool.

If clc were a playground soccer game, Jacob would be my first pick.
 
R

Ron Ford

Ron Ford said:



Really? Mine would be Chris Torek.

Dude, I've played soccer in SLC and can assure you that Torek would have to
be a goalie, if Keith didn't antecedently have to be.

But since you chose a player, I'll use the ISO_C_BINDING and select Richard
Maine from a common extension.
If, on the other hand, it were a basketball game, it would all depend on
who were refereeing. ("I tried it and it worked fine...")

I'm gonna guess that I'm the only fella in clc who can dunk it. South
Chicago.
 
R

Ron Ford

You guys are nuts. I'm going with Pele in his prime.
;-)

Maradonna was the best I ever saw. It's interesting to think of what a
soccer game with clc would look like, but it is a sheer impossibility to
have a casual ballgame among persons who would have to burn an average of a
hundred gallons of fossil fuel to attend.

I think the etymology of "Torek" might actually be close to goalie. The
-ik, uk, ek ending indicates "one who does" in languages like Russian and
Polish. "Tor" could be gate or goal.

Regarding basketball, Barack Omaba is not an unusual Chicagoan to be able
to hit a three-pointer. It speaks to his poise, athleticism and
flexibility that he could go one for one from beyond the arc. My brother
hits from farther out, truly downtown, routinely.

Dann, did you change your NSP? I had a google killfilter that was hiting
your posts before.
 
C

Chris Torek

Ron Ford said:
I think the etymology of "Torek" might actually be close to goalie.

The word "torek" in Slovenian means "tuesday", apparently. The
name also fits the pattern of Vulcan names, which is perhaps more
appropriate. :)

If I were to play soccer, goalie might be the most appropriate
position anyway, as I have a bad knee (left leg) and a bad foot
(right leg) thanks to getting hit by a car. (I was in a crosswalk
-- Richard Heathfield would call it a zebra crossing -- at a four-way
stop; the driver was in a 1974 Toyota Land Cruiser.) The main side
effect of these today is that I cannot do "high impact" aerobics,
and have to wear knee wraps when doing squats with anything over
about 250 pounds.
 
A

Antoninus Twink

It's interesting to think of what a soccer game with clc would look
like

Given that clc is full of egomaniacs, it's hard to imagine finding 11 of
them that could play as a team for 90 minutes without ripping each other
to shreds.

But my money would be on CBF scoring an awful lot of own goals.
 
A

arnuld

Well... you /can/ do this:

gcc -std=c99 -pedantic -include features.h

As far as I can see that does not break any conforming programs and
does make gcc closer to C99. It certainly then compiler the above
..SNIP...


I write network programs and yes I uses Sockets all the time. I mainly
use it because of 3 reasons:

1.) // style comments
2.) for( int i = 0; ... ) , to keep i localized to the loop
3.) snprintf (replacement for sprintf)


Regarding portability, I am focused on Linux only. I don't work on any
other OS. So, Do you guys advise to use -std=c99 as compiler option ?
 
S

santosh

arnuld said:
I write network programs and yes I uses Sockets all the time. I mainly
use it because of 3 reasons:

1.) // style comments
2.) for( int i = 0; ... ) , to keep i localized to the loop
3.) snprintf (replacement for sprintf)


Regarding portability, I am focused on Linux only. I don't work on any
other OS. So, Do you guys advise to use -std=c99 as compiler option ?

If you focused only on Linux you might as well take advantage of gcc
specific, Linux specific and POSIX extensions. For gcc
use '-std=gnu99'. It might still be useful to keep portable and
non-portable functionality separate, in case you ever change your mind.

Look-up the "feature test macros" functionality of GNU libc. The POSIX
documentation is also freely available online. For more details go to
comp.unix.programmer and comp.os.linux.development.[apps/system].
 
H

Harald van Dijk

If you focused only on Linux you might as well take advantage of gcc
specific,

To both arnuld and santosh: please don't assume that everyone on Linux
uses gcc. At the very least, there's Intel's compiler, but there are other
useful compilers as well.
Linux specific and POSIX extensions.

Fair enough.
For gcc use '-std=gnu99'.

I would recommend sticking with -std=c99. Even if you want to make use of
GNU-specific features, you can use -std=c99; you'll usually just need to
either deal with warnings or clearly mark your use of extensions. This, in
my opinion, is a good thing.
It might still be useful to keep portable and non-portable functionality
separate, in case you ever change your mind.

Well, we had similar ideas apparently, but different methods.
Look-up the "feature test macros" functionality of GNU libc. The POSIX
documentation is also freely available online. For more details go to
comp.unix.programmer and comp.os.linux.development.[apps/system].
 
C

CBFalconer

arnuld said:
I write network programs and yes I uses Sockets all the time. I
mainly use it because of 3 reasons:

1.) // style comments
2.) for( int i = 0; ... ) , to keep i localized to the loop
3.) snprintf (replacement for sprintf)

Regarding portability, I am focused on Linux only. I don't work
on any other OS. So, Do you guys advise to use -std=c99 as
compiler option ?

You are much more portable relying on the C90 standard. The result
is almost always compatible with C99 (the only exception I know of
has to do with the modulus operator and negative values). You
can't use the // comments, but that is no loss IMO.

With gcc, I habitually use:
-W -Wall -ansi -pedantic -Wwrite-strings -Wfloat-equal -ftrapv ...
 
A

arnuld

You are much more portable relying on the C90 standard. The result
is almost always compatible with C99 (the only exception I know of
has to do with the modulus operator and negative values). You
can't use the // comments, but that is no loss IMO.

what about snprintf, which saves from overflowing the array attacks. And
what about localization of index integers like for( in i = 0...) .

I know you are trying to help me, what I am saying that the softwares I am
paid to write for are designed only to run on Linux and nothing else.

With gcc, I habitually use:
-W -Wall -ansi -pedantic -Wwrite-strings -Wfloat-equal -ftrapv ...

Doesn't -Wextra give access to -Wwrite-strings and -Wfloat-equal ?
 
A

arnuld

To both arnuld and santosh: please don't assume that everyone on Linux
uses gcc. At the very least, there's Intel's compiler, but there are
other useful compilers as well.

Exactly. And the focus I am paid for is Linux & GCC centric.

I would recommend sticking with -std=c99. Even if you want to make use
of GNU-specific features, you can use -std=c99; you'll usually just need
to either deal with warnings or clearly mark your use of extensions.
This, in my opinion, is a good thing.


That seems like a sound advice ;)
 
A

arnuld

Using snprintf does not guarantee this. You have to use it /properly/. And
if you use sprintf properly, you get the same safety. So snprintf isn't
actually all that big a deal.

Aye.. did not know that :( , will check archives first and then ask

But it seems from other stuff you've said that you're only interested in
Linux, which is fine, but it does suggest that you'd be better off asking
about flags in a group dealing with your implementation rather than a
group dealing with the C language.

oops!
 

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,777
Messages
2,569,604
Members
45,218
Latest member
JolieDenha

Latest Threads

Top