Compiler thats works in Windows 7

A

AK

HI guys,

Its been a really long time since I came back here and the reason is
simply that I was working with Java when I started working. Now that I
have entered a grad school, I am in the process of returning to C.

So, heres the big question. Back in the days when I last used C, I
used to use the Bloodshed Dev-C++ IDE that comes(or at-least used to)
with the MIngw package. However, things have changed and my new laptop
runs Windows 7. So, I am looking for a compiler(preferably an IDE)
that I can use as I am re-learning C. I am hoping to get a compiler
that sticks to the standards. So, any suggestions?

Thanks
Anoop
 
J

jacob navia

Le 30/09/11 10:44, AK a écrit :
HI guys,

Its been a really long time since I came back here and the reason is
simply that I was working with Java when I started working. Now that I
have entered a grad school, I am in the process of returning to C.

So, heres the big question. Back in the days when I last used C, I
used to use the Bloodshed Dev-C++ IDE that comes(or at-least used to)
with the MIngw package. However, things have changed and my new laptop
runs Windows 7. So, I am looking for a compiler(preferably an IDE)
that I can use as I am re-learning C. I am hoping to get a compiler
that sticks to the standards. So, any suggestions?

Thanks
Anoop

The lcc-win compiler implements most of C99. It has an IDE, windowed
debugger, and it can be downloaded at no cost.

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

Karthik Bharadwaj

HI guys,

Its been a really long time since I came back here and the reason is
simply that I was working with Java when I started working. Now that I
have entered a grad school, I am in the process of returning to C.

So, heres the big question. Back in the days when I last used C, I
used to use the Bloodshed Dev-C++ IDE that comes(or at-least used to)
with the MIngw package. However, things have changed and my new laptop
runs Windows 7. So, I am looking for a compiler(preferably an IDE)
that I can use as I am re-learning C. I am hoping to get a compiler
that sticks to the standards. So, any suggestions?

Thanks
Anoop


If you're going to be coding exclusively in C, Code::Blocks is the best
one, and is actively maintained. It is available for both win/linux
platforms
http://www.codeblocks.org/

If you're going to be using a bit of c++ as well, download microsoft
visual studio express edition (assuming windows) or go with code blocks
(win/linux).

Eclipse with CDT is good too. And you can program in a multitude of
languages with one IDE. debugger integration is pretty good in eclipse
too. so if you're gonna be coding in c, c++, java and want to learn
python n stuff, + generate documentation and do a million other things
from one place, I would suggest you get eclipse.

http://www.eclipse.org
 
I

ImpalerCore

HI guys,

Its been a really long time since I came back here and the reason is
simply that I was working with Java when I started working. Now that I
have entered a grad school, I am in the process of returning to C.

So, heres the big question. Back in the days when I last used C, I
used to use the Bloodshed Dev-C++ IDE that comes(or at-least used to)
with the MIngw package. However, things have changed and my new laptop
runs Windows 7. So, I am looking for a compiler(preferably an IDE)
that I can use as I am re-learning C. I am hoping to get a compiler
that sticks to the standards. So, any suggestions?

Well, if you're going to *graduate* school, you must eschew the bonds
of an IDE and learn to work with the tools from a more civilized era.
That means vi, bash, make, sed, preferably on a unix workstation,
although installing linux on a laptop is good as well; MinGW on
windows is passible as an alternative with a unix compatible shell,
but don't advertise that fact. Be sure to use -pedantic with gcc to
ensure strict conformance; extensions are beneath you. All your
programs should use a sophisticated but easy to use set of command-
line options, or an interactive character-driver menu system; none of
this fancy and non-standard GooEY stuff. Most importantly, remember
that using a debugger is forbidden; use your intellect and scratch
paper, and as a last resort if you absolutely have to, well placed
print statements.

It's imperative that you start reading the C90 and C99 standards now.
Once you have a grasp on those documents, browse the usenet archives
for comp.lang.c and comp.std.c to learn how to speak standardese. If
one of your fellow students asks a mundane C question, the correct
response is to quote chapter and verse from the appropriate place in
the standard. Observe other more experienced members of this usenet
group for how to articulate these answers. On a side note, stop using
Google groups and invest in a newsgroup reader.

Lastly, if capable, all graduate students who program should grow a
beard. What do you see that's in common between Kernighan, Ritchie,
Thompson, ...? You may ignore this requirement if you are female.

Best regards,
John D.
 
J

jacob navia

Le 30/09/11 15:41, Karthik Bharadwaj a écrit :
If you're going to be using a bit of c++ as well, download microsoft
visual studio express edition (assuming windows) or go with code blocks
(win/linux).

That compiler doesn't support standard C. (C99)
 
N

Nick Keighley

Le 30/09/11 10:44, AK a écrit :





The lcc-win compiler implements most of C99. It has an IDE, windowed
debugger, and it can be downloaded at no cost.

....for non-commercial use
 
N

Nick Keighley

Its been a really long time since I came back here and the reason is
simply that I was working with Java when I started working. Now that I
have entered a grad school, I am in the process of returning to C.

So, heres the big question. Back in the days when I last used C, I
used to use the Bloodshed Dev-C++ IDE that comes(or at-least used to)
with the MIngw package. However, things have changed and my new laptop
runs Windows 7. So, I am looking for a compiler(preferably an IDE)
that I can use as I am re-learning C. I am hoping to get a compiler
that sticks to the standards.

which standard. For maximum portability use C89. The latest standard
is C99 but it isn't so widely supported.
 
J

jacob navia

Le 02/10/11 12:01, Nick Keighley a écrit :
...for non-commercial use

Exactly.

But you did NOT add any commentary when the Microsoft compiler
was proposed even if I can read in their license:

<quote>
MSDN software may not be used in production environments, which require
regular, non-MSDN licenses for the software being used—for example, a
software license and client access licenses (CALs) for Windows Server 2008.
<end quote>

Obviously when it is done by Microsoft it is OK, even if they have
much more stricter rules than lcc-win...

Ahhhh the regulars, what pile of sh$t!
 
N

Nick Keighley

Le 02/10/11 12:01, Nick Keighley a crit :







Exactly.

But you did NOT add any commentary when the Microsoft compiler
was proposed even if I can read in their license:

<quote>
MSDN software may not be used in production environments, which require
regular, non-MSDN licenses for the software being used for example, a
software license and client access licenses (CALs) for Windows Server 2008.
<end quote>

Obviously when it is done by Microsoft it is OK, even if they have
much more stricter rules than lcc-win...

wasn't aware of it. Though my reading of what you quote doesn't seem
topreclude me selling software I've developed using Visual C++
Express.
Ahhhh the regulars, what pile of sh$t!

ah Navia the paranoid.

If you simply included the words "free for non-commercial use" when
you posted about your compiler I wouldn't have to do it for you.
 
J

jacob navia

Le 02/10/11 18:43, Robert Wessel a écrit :
That's not correct. Visual Studio Express *can* be used for general
software development.

I went to:

http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express

Then I went to "License" and I arrived at
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=13350

Then I clicked in the PDF button and I got the document where that quote
comes from.

Maybe there is another (not shown) license, who knows.

In any case you can use my software to compile anything and sell your
programs that remain your property.

Schools and Universities pay a license fee when they use my compiler
for a class. Companies pay a license when they use my compiler for
business.

So what?

You don't agree? You find it outrageous?

I really do not care.


What you're referencing above is the software that's made available to
MSDN subscribers. For example, the MSDN subscription that I have
gives me access to almost all MS products, and license keys for those
products, but only for development use. So I can install big versions
Windows Server and SQL Server (and anything else I feel like) on a
development machine and develop and test against those to my heart's
content. The license prohibits me from using those in a production
role (IOW, I can't use any of the dozens of license for WS included in
my MSDN subscription for our company's file server, but I can set up a
bunch of test servers).

Well, that's the same as I do, but if they do it is OK and when I do it
it is not.
 
K

Keith Thompson

Nick Keighley said:
which standard. For maximum portability use C89. The latest standard
is C99 but it isn't so widely supported.

Agreed. On the other hand, many compilers support large subsets of C99,
and a few support essentially all of it.

Your options are:

1. Use only C89/C90. Whatever compiler you're using, invoke it in
strict C90 mode (for gcc: "-ansi -pedantic"; for other compilers, see
their documentation). Avoid writing any code that conflicts with C99;
for example, provide prototypes for all functions (a very good idea
regardless), don't use "inline" or "restrict" as identifiers, and a few
other things. This should give you maximum portability.

*Some* C99-specific features can be implemented (more or less) in C90.
For example, <http://www.lysator.liu.se/c/q8/index.html> is a C90
implementation of C99's <stdint.h>. You can create something that acts
very similarly to C99's "bool" with:
typedef enum { false, true } bool;
(there are subtle differences, but straightforward usage should be ok).

2. Use some, but not all, C99 features. Do some research on all the
compilers your code is likely to be compiled with, and find out what
C99-specific features they support. Consider using

#if __STDC__VERSION >= 199901L

to test for C99 compliance, falling back to C90 when necessary
and possible. Note that if you need to use Microsoft's C compiler,
the subset of C99 you'll be able to use might be very small.

3. Use C99. This will restrict your code to C99-conforming
compilers. As time passes, the set of compilers you can use
*should* increase, but uptake has been disappointingly slow.
Keep an eye on the development of the C201X standard; with luck,
it *might* get better support in the coming years than C99 did.
<http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf> is the
latest draft. C201X proposes to make some features optional --
including some that are mandatory in C99.

All these options are potentially more complex if you need to use
compiler-specific extensions.
 
G

Geoff

...for non-commercial use
.... the mentioning of which was completely unnecessary since it's
stated prominently on the referenced link.

....unless, of course, you just wanted to push Jacob's button.
 
I

Ian Collins

3. Use C99. This will restrict your code to C99-conforming
compilers. As time passes, the set of compilers you can use
*should* increase, but uptake has been disappointingly slow.
Keep an eye on the development of the C201X standard; with luck,
it *might* get better support in the coming years than C99 did.
<http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf> is the
latest draft. C201X proposes to make some features optional --
including some that are mandatory in C99.

In practice the set of targets without a standard C compiler is limited
to those small embedded targets which lack either a gcc port, or a
modern compiler.

When designing an embedded system, just avoid them unless the price
point is really critical.
 
J

jacob navia

Le 03/10/11 07:42, Robert Wessel a écrit :
As I understand your licensing, it's *not*. The VS Express products
are free for commercial use, while yours are not.

The problem is that you suppose a different license for express products
than for MSDN products. I searhed that site and could NOT find any
OTHER license as the MSDN license. Could you please send me a pointer
to that famous "express" license? Where is it?
 
N

Nick Keighley

Le 02/10/11 18:43, Robert Wessel a écrit :

In any case you can use my software to compile anything and sell your
programs that remain your property.

Schools and Universities pay a license fee when they use my compiler
for a class. Companies pay a license when they use my compiler for
business.

So what?

You don't agree? You find it outrageous?

it's your product you can license it/sell it any way you please. I'm
paid to write software so I'm hardly going to object to anyone else
making money out of software they write. I simply want to you to
advertise your product correctly.
I really do not care.

seems you do or you wouldn't be throwing such a paddy.

Well, that's the same as I do, but if they do it is OK and when I do it
it is not.

no it's the same. Its just Microsoft don't advertise their product on
clc.
 
N

Nick Keighley

... the mentioning of which was completely unnecessary since it's
stated prominently on the referenced link.

opinions vary. I don't think it would cost him much to add the phrase.
As stated I think his standard puff is slightly misleading.
...unless, of course, you just wanted to push Jacob's button.

no. But it's an amusing side effect!
 

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

No members online now.

Forum statistics

Threads
473,764
Messages
2,569,567
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top