1. gcc (GNU C Compiler)
2. pcc (Portable C Compiler)
3. tcc (Tiny C Compiler)
4. dmc (Digital Mars C compiler)
5. icc (Intel C Compiler)
6. lcc (Local/Little C Compiler)
7. other (please specify)
Explain why it is your favorite or THE BEST or why other choice(s) suck.
does it really matter which one you use?
i just use gcc because it comes preinstalled
Name:
Anonymous2009-11-02 8:12
1. Generates acceptable code
2. Generates terrible code
3. Generates terrible code
4. Don't know / only runs on Windows / source available under non-free license
5. Generates good code / proprietary / only free-as-in-beer for non-commercial Linux use
6. Generates terrible code
7. LLVM clang: Generates acceptable code / no releases, only available as source from SVN
7. Microsoft Visual C++: generates okay code / runs only on Windows / proprietary / somewhat limited free-as-in-beer version available
Overall winner: gcc
Name:
Anonymous2009-11-02 8:18
>>3
Not really, but I was recently reading some old stuff about how GCC is bloated and buggy (especially but not limited to the MinGW port, which I know is out-dated as fuck).
It doesn't really bother me to use GCC but if there really is a better alternative then I'd give it a shot. But so far I haven't noticed bugginess and the compile time generally isn't a problem considering faster compilers (like TCC) might not generate as good code (according to >>4)
I just wanted to know what other people think of C compilers since I have never tried to use anything other than the default GCC that I've always used.
On Win32, I would prefer MSVC over gcc anyday. On other platforms gcc. Besides that, there's some more specialized compilers for generating very efficient code for certain specific common tasks.
Name:
Anonymous2009-11-02 8:34
doesn't visual studio force you to deal with that .NET virtual machine faggotry rather than actual compilation?
or am i confused with something else?
i don't know much about dot NET.
>>7
MS bundles their compiler with Visual Studio, but it's just a separate compiler, which works independently of that IDE. It also comes with some other development kits, and is mostly 'freely available'. The proper name of the actual compiler is "Microsoft C/C++ Optimizing Compiler"
The compiler has existed since many years ago ( DOS and then 9x and of course currently NT) and has nothing to do with .NET. C# and other .NET languages come with their own compilers. Don't let the IDE and MS' marketing make you confuse unrelated software one with the other, just because they may now be bundled in the same large package.
Name:
Anonymous2009-11-02 9:38
greetings from /jp/:
>lcc on list
>watcom not on list
Name:
Anonymous2009-11-02 10:37
With GCC comes familiar suckage on whichever platform you use it on. There is an advantage to that.
>>4
dmc is proprietary yes, but it is a fairly good compiler nonetheless.
At least it's easier to get working than gcc on Windows. Cygwin sucks ass, and mingw32 is a fragmented mess of shit.
THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST THE BEST
>>20 forced ASM intrinsics use on x64,
Is that a bad thing?
Name:
Anonymous2009-11-02 16:27
The real problem is you guys are using a language that is over 30 years old. Is there any other industry that is using technology old enough to be your dad and succeeding?
>>24
It works fine. And I would learn to use a higher-level language but I've never found another language that fits the niche.
Python comes close, but it's interpreted (and has undergone a very awesome period wherein the language creator has decided to complete break compatibility with existing code by releasing a new version of the language with slightly different syntax -- really cool!)
Java is pig-shit, and also interpreted. Not even going to consider C++ for obvious reasons.
Needless to say, everything else just sucks ass as a choice when I want to develop a real application. I will just stick with C.
>>28 and has undergone a very awesome period
You make it sound like that's already over. Have I missed something?
Name:
Anonymous2009-11-02 18:00
I'm becoming tired of rewriting my code to conform to MSVC's C99 noncompliance, shit sucks.
GCC is better in that regard, and for quick hacks it has some nice nonstandard features like nested functions.
GCC doesn't optimize very well though, and I hear the code is intentionally kept a mess by RMS just to make sure people can't connect proprietary frontends/backends to it, because... just because.
Does anyone know of a compiler that will inline calls to function pointers, especially for expanding qsort and similar callback functions?
Name:
Anonymous2009-11-02 18:14
>>31
GCC has a plugin architecture nowadays, but it'll take years before anyone really takes advantage of it. Also, the code wasn't "kept a mess", it just intentionally lacked the functionality to write out and read in certain intermediary formats.
Name:
Anonymous2009-11-02 18:21
>>31 I hear the code is intentionally kept a mess by RMS just to make sure people can't connect proprietary frontends/backends to it, because... just because.
i lol'd.
and then cried.
it's probably true.
>>34
that doesn't mean he can't command other people to do it.
he IS the self-proclaimed emperor of opensource software and the jesus of code, he has a lot of followers who will blindy do whatever he asks.
Name:
Haxus the C Coder2009-11-02 18:43
>>31
I don't understand why people want to use nested functions.
and some reasons that might have to do with why gcc is a mess: The truth about GCC is that it is a monster of a system. This system is decades old. It has to account for a massive number of different quirks for the different standards, different languages and different architectures. The age of the system together with it's massive scope leads to results that may not be optimal as compared to more focused compilers.
GCC produces poor quality code. The compiler also claims "standards compliance," which is fine because the standard is fairly weak, but it sucks dick at behaving like you'd expect and/or supporting some features you'd expect it to support.
Intel's compiler is the best one on that list, but there needs to be a decent free-as-in-speech alternative. GCC is not a decent alternative. There are projects in the works, but they're not any better due to their maturity.
Also, I happen to love Theo. He calls it like it is.
>>56
You can use you're compiler to compile another compiler
Name:
Anonymous2009-11-03 5:42
>>33
what i believe he's referring to is gcc's "fold", which messes with the AST in such a way as to obfuscate the original program. it takes a long time and only has a minor performance gain, not to mention the code that does it is nigh-incomprehensible.
it's true that the java bytecode backend was intentionally removed so no "evil corporation" could compile to java bytecode, use gcc to compile the java bytecode to optimized java bytecode, and in doing so use gcc for "evil"
Name:
Haxus the Amish Programmer2009-11-03 7:21
We been spending most our lives
Living in an Amish paradise
We're just plain and simple guys
Living in an Amish paradise
There's no time for sin and vice
Living in an Amish paradise
We don't fight, we all play nice
Living in an Amish paradise
>>60 You might laugh
I am laughing.
Poor little guy, believes everything that Apple fanatics tell him.
All Apple products are perfect; there has never been a bug in Apple code; It is impossible to hack an Apple computer; etc.
LOL
>>68
Nice straw man, but I didn't say any of those things. I hate Apple, but there's no denying that they put out better products than GNU.
Name:
Anonymous2009-11-04 11:03
GCC is really pretty amazing considering the number of languages and platforms supported if you ask me.
>>24
Mathematics? Physics? And therefore electrical engineering, etc?
>>10
Wow! Really?! I'm really looking forward to using it once it has proper support for C++, which will be never, since Apple doesn't care about C++.
Name:
Anonymous2009-11-04 11:32
>>72
Yes, one of the available compiler alternatives is "Clang LLVM 1.0". But you should follow Apple's example and stop caring about C++. After all, engineering is all about eliminating problems.
Name:
Anonymous2009-11-04 11:49
>>73
But they "eliminate" the problem by using ObjC instead.
>>72
Amazing, in my opinion, would be generating decent or better code for all the languages it "supports." Unfortunately, its code is poor across the board. That's like saying shit isn't shit because there's a lot of it.
Name:
Anonymous2009-11-04 19:18
sdcc was here, other c compilers are a faggot
Name:
Anonymous2009-11-04 19:47
cl.exe - microsoft's optimizing c/c++ compiler
Name:
Anonymous2009-11-04 22:21
ghci - Good Human-Computer Interface
Name:
Anonymous2009-11-04 23:38
>>80
Now there's a compiler that produces bad code.
>>90
Ok, makes sense, but as >>91 said, why would the pre-processor have anything to do with the symbol table?
Name:
Anonymous2009-11-08 16:02
Appendix B of K&R sez regarding the standard library
External identifiers that begin with an underscore are reserved for use by the library, as are all other identifiers that begin with an underscore and an upper-case letter or another underscore.
So the potential problem is that your header guard could conflict with an identifier in the system headers.
>>24
Typical kid who sits in the back of class calling Java slow. Or makes sure his volume is up loud before booting up Ubantu, to make sure everyone hears the "TTARMADDAMPUP" so that they're all aware you're running a superior GNU/Linux Operating System.
COBOL dates back to 1960. It's still in widespread use.