Visual C++ Express Edition or lcc-win32?

  • Thread starter Nimmi Srivastav
  • Start date
C

CBFalconer

Erik said:
.... snip ...

Personally I prefer Visual C++ 2005 Express since it is free, (in
the sense of not having to pay for it) and free (in the sense of
not shackling you into its own preferred way of creating programs).
And it has got the best debugger I've ever used (not that I have
used that many, but it beats gdb).

Please explain how gcc 'shackles you'. Or gdb.
 
C

CBFalconer

jacob said:
.... snip ...

I am the author of lcc-win32. This is a C compiler that implements
the latest standard C99 under windows.

Less completely than gcc does.

.... snip ...
Price: Free download. Size: around 5MB. All this is written
in C. Generates very small programs.

Amazing claim. I find that code generated by gcc is significantly
smaller.

Also note that I (and all others) am perfectly free to download and
examine and/or modify the gcc code at any time. This does not
apply to lcc-win32.

I have removed the ridiculous cross-posts with the follow-up.
 
R

Richard Bos

Sherm Pendley said:
The GPL is only relevant if your app includes some or all of the source
code of a GPL'd app, as-is or modified.

Wrong. The GPL is relevant as long as lawyers exist to make a quick buck
out of FUD.
The GPL has *zero* impact on the output of a GPL'd app. Your app is not
somehow "infected" by the simple act of editing your own code with a GPL'd
IDE, or compiling it with a GPL'd compiler. The idea that it would (or
can) be is pure FUD.

And FUD is still - unfortunately - a relevant factor in business
decisions. Because if you want to sell your software, you cannot afford
to doubt whether it would be legal.
For example, I note that you do not mention linking in GPL'd libraries.

Richard
 
?

=?ISO-8859-1?Q?Erik_Wikstr=F6m?=

Please explain how gcc 'shackles you'. Or gdb.

I've never claimed that gcc shackles you, in fact I know that it does
not. Further more I think it is a very good compiler and I'm perfectly
happy to used it.But I also think that the VC++ compiler is very good
and that the VC++ IDE is great, especially for a novice. The reason I
formulated my text as I did was to inform the user that VC++ does not
force you to use a certain way of creating programs, which Richar Bos'
post seemed to imply.

And if you read my post again you'll see that my only comment about gdb
was that I think the debugger in VC++ is better.
 
C

CBFalconer

Richard said:
.... snip ...


And FUD is still - unfortunately - a relevant factor in business
decisions. Because if you want to sell your software, you cannot
afford to doubt whether it would be legal. For example, I note
that you do not mention linking in GPL'd libraries.

However most libraries, such as the c-library, are released under
the more liberal GPLL ? license, which allows use without releasing
source. The exceptions are such specialized things as my hashlib,
which remain under GPL. The only FUD is that which you are
raising.
 
W

Walter Bright

Nimmi said:
For a pure hobbyist C/C++ programmer, who wants to develop
applications to run on Windows, what would be a better choice to
install: Visual C++ Express 2005 Edition or lcc-win32? Does anyone
have any opinion to share?

Also, is there a C++ compiler akin to lcc-win32?

There's Digital Mars C++ for Windows, which is a free download.
 
J

James Kanze

Wrong. The GPL is relevant as long as lawyers exist to make a
quick buck out of FUD.

Yes. The problem is not always what the authors intend as
restrictions, but rather how your company's lawyers interpret
the wording in their license. In practice, I'm sure that you'll
never have the slightest legal problems using g++ for
development, but corporate lawyers often have problems getting
their heads around the idea that the authors of the license
might actually be honest people, and are not out to trick you
somehow.
And FUD is still - unfortunately - a relevant factor in
business decisions. Because if you want to sell your software,
you cannot afford to doubt whether it would be legal.

There's no doubt in my mind. But then, I understand a little
bit about how such software is developed. It can be difficult
to convince white collar management that the FUD is just that,
FUD.
For example, I note that you do not mention linking in GPL'd
libraries.

Don't do that, or you do "contaminate" your product. That's why
gcc's librarys are LGPL, and not GPL---so that you can link
against them without contamination.

At one time, there was a problem concerning templates, inline
functions and even #define's; the LGPL didn't really make clear
that this wasn't contamination. Presumably, a few #defines
would have been covered under the "fair use" rules, or something
like that, but it was a problem with templates in C++---many
librarys are only header files (so you are, in fact,
incorporating source code into your application, and not just
linking against a library). I'm fairly sure that this was never
the intent of the authors of the C++ standard library, but it
wasn't really clear in the wording of the LGPL. I think that
the libstdc++ comes with an ammended LGPL now, however, which
explicitly says that including a header counts the same as
linking against the library, and thus doesn't contaminate
anything.

With regards to libraries in general: make sure that they are
LGPL, and not just GPL, and don't modify them in any way, and
you should have no problems. (In general, for any third party
libraries, LGPL'ed or commercial, it's probably best to keep the
library is a separate, write protected directory tree, on its
own.)
 
J

James Kanze

PJP said (I think here) that MSVC was now C99 compliant as MS had got
religion in the last couple of years and don standards compliant.

PJP certainly knows the situation better than I do, but my
impression is that currently, MS does not offer a C
compiler---only a C++ compiler which will compile C for reasons
of backwards compatibility. Because the C is only for reasons
of backwards compatibility, there is no effort to track the more
recent standards.

MS has "got religion" concerning standard C++ in the last few
years. Like most people who get religion, however, it can be
somewhat selective. Still, with a few exceptions (e.g. export),
they do try to track the C++ standard.
Actually MS is very actively doing a lot in the standards
world (usually via ECMA and ruffling a few feathers in ISO)

They're very active in the C++ standardization effort. And
whatever their underlying motives might be, they've been very
good about it: not just talking, but also listening, and
investing significant effort.
 
C

Chris Hills

James said:
[...]
Gcc is not ISO C99 compliant either. (And I think less so than the
MS compilers these days.)
Really? My impression, based entirely on what I've read here, is that
MS has expressed no interest in supporting C99. Do you have better
information?
PJP said (I think here) that MSVC was now C99 compliant as MS had got
religion in the last couple of years and don standards compliant.

PJP certainly knows the situation better than I do,

I will have to check that I am quoting him correctly too
but my
impression is that currently, MS does not offer a C
compiler---only a C++ compiler which will compile C for reasons
of backwards compatibility
Yes.
. Because the C is only for reasons
of backwards compatibility, there is no effort to track the more
recent standards.

I think that they do track C99 to some extent as they use C99 libraries.
MS has "got religion" concerning standard C++ in the last few
years. Like most people who get religion, however, it can be
somewhat selective.

Oh yes....
They're very active in the C++ standardization effort. And
whatever their underlying motives might be,

Aye there's the rub... See their efforts with ECMA (Java script, C# .
C++/CLI, Cli etc) also the "secure" libraries.
they've been very
good about it: not just talking, but also listening, and
investing significant effort.

Yes.... MS will be the new standard.....
 
C

Chris Hills

James said:
[...]
Gcc is not ISO C99 compliant either. (And I think less so than the
MS compilers these days.)
Really? My impression, based entirely on what I've read here, is that
MS has expressed no interest in supporting C99. Do you have better
information?
PJP said (I think here) that MSVC was now C99 compliant as MS had got
religion in the last couple of years and don standards compliant.

PJP certainly knows the situation better than I do, but my
impression is that currently, MS does not offer a C
compiler---only a C++ compiler which will compile C for reasons
of backwards compatibility. Because the C is only for reasons
of backwards compatibility, there is no effort to track the more
recent standards.


I found the item...
PJP said... 10 May 2006 13:32:07 however I think MS have improved on
the C99 since then. Certainly they have kept pace with gcc.

////////////////////////
But gcc got 'ligion somewhere along the way (as has Microsoft more
recently). Today, there are three top compilers for C/C++ conformance:

COMPILER C89 C95 C99 C++

EDG excellent excellent excellent excellent
VC++ excellent very good so so very good
gcc excellent very good so so very good

And there's a significant gap between these and whatever's fourth.

Note that, qualitatively at least, VC++ and gcc are in about the same
league.
/////////////////////////////////

Incidentally in the embedded world most of the top compilers use the EDG
front end as I am sure you all knew.

Interestingly in the same thread 09 May 2006 19:58:15 he also said
//////////////////////////////////
Yes, it does. But as I keep repeating, *every compiler I've ever used
does exactly the same thing.* People who know the value of writing
portable code know to follow standards. Those who don't simply don't,
and mostly don't care, and mostly benefit from using the nonstandard
extensions. So what's the big deal?
////////////////////////////

So an interesting take on portability from some one who earns his living
writing portable code......

If you are a novice just wanting to write windows programs for yourself
(or even commercially) VC++ is a good idea.
 
C

CBFalconer

Chris said:
Aye there's the rub... See their efforts with ECMA (Java script,
C# . C++/CLI, Cli etc) also the "secure" libraries.


Yes.... MS will be the new standard.....

This needs stamping as sarcasm. Nobody sane should accept MS
efforts to divert the normal standardization efforts, especially
ISO standards.

F'ups set to eliminate silly cross-posting.
 
S

Sherm Pendley

For example, I note that you do not mention linking in GPL'd libraries.

I didn't mention it because it's not relevant to the case I made. Your post
said that simply compiling your code with GCC would "chain you to a Gnu
license." It won't.

What's more, your so-called "advice" above is completely nonsensical. The
Bloodshed Dev-C++ IDE is GPL'd, and uses either the MinGW or Cygwin bundles
of GCC. You're advising the OP to avoid GPL'd IDEs and GCC, and use a GPL'd
IDE and GCC instead.

<http://www.bloodshed.net/devcpp.html>

You clearly have no idea what you're talking about here.

sherm--
 
K

Keith Thompson

James Kanze said:
PJP certainly knows the situation better than I do, but my
impression is that currently, MS does not offer a C
compiler---only a C++ compiler which will compile C for reasons
of backwards compatibility. Because the C is only for reasons
of backwards compatibility, there is no effort to track the more
recent standards.
[...]

Hmm. It seems to me that a compiler that compiles C, for whatever
reasons, is a C compiler. Tracking recent standards is certainly an
issue, though.
 
R

Richard Bos

James Kanze said:
Yes. The problem is not always what the authors intend as
restrictions, but rather how your company's lawyers interpret
the wording in their license. In practice, I'm sure that you'll
never have the slightest legal problems using g++ for
development, but corporate lawyers often have problems getting
their heads around the idea that the authors of the license
might actually be honest people, and are not out to trick you
somehow.

Yes, that's precisely what I meant.
Don't do that, or you do "contaminate" your product. That's why
gcc's librarys are LGPL, and not GPL---so that you can link
against them without contamination.

You know that, and I know that, but what's relevant is that the lawyers
aforementioned do not know and probably do not want to know that.

Richard
 
G

Guy Macon

CBFalconer said:
However most libraries, such as the c-library, are released under
the more liberal GPLL ? license, which allows use without releasing
source. The exceptions are such specialized things as my hashlib,
which remain under GPL. The only FUD is that which you are
raising.

Concerning the statement "if you want to sell your software,
you cannot afford to doubt whether it would be legal", there
are over 100 million smartphones by Nokia, Siemens, Panasonic
and Samsung running GCC-compiled applications on the Symbian
OS, and and Sony PlayStation and Sega Dreamcast both use
software compiled with GCC. I doubt that they would be using
GCC to create proprietary software if the legality of doing
so was in question.


Back to lurking for me. (Thanks, CBF, for the suggestion!)

Also see:


[ http://www.gnu.org/licenses/gpl-faq.html#CanIUseGPLToolsForNF ]:

"Can I use GPL-covered editors such as GNU Emacs to develop
non-free programs? Can I use GPL-covered tools such as GCC
to compile them?

"Yes, because the copyright on the editors and tools does
not cover the code you write. Using them does not place
any restrictions, legally, on the license you use for
your code."


[ http://en.wikipedia.org/wiki/GNU_Compiler_Collection ]:

"In addition to its use in free software, GCC [GNU Compiler
Collection] is widely deployed as a tool in commercial and
closed development environments."
 
K

Keith Thompson

Jerry Coffin said:
But does it qualify as a C compiler if it rejects a large percentage of
code written for the current standard?

Strictly speaking, no, but if it implements the C90 standard, I for
one am not going to say it's "not a C compiler".
 
R

Richard Heathfield

Jerry Coffin said:
But does it qualify as a C compiler if it rejects a large percentage
of code written for the current standard?

The support for C99 in the real world is such that the distinction
between "C90" and "C" is not a useful one.
 

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,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top