?
Solved

C compiler

Posted on 2003-03-11
11
Medium Priority
?
362 Views
Last Modified: 2010-04-15
Hi folks!
I just start my C course at university and would like to ask a question about c compiler.
I know its kind a stupid question however its really important for me.You know how it is important to make a right step.
My question is what is the best compiler its better to say what is a most usable,popular.
What do You use in writing programms.
My main purpose of this course is to make a first steps in low-level programming.
The next course is Microprocessors, and Assembler of course.
Thanks.
0
Comment
Question by:SantaKlaus
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
11 Comments
 
LVL 8

Accepted Solution

by:
akshayxx earned 100 total points
ID: 8110200
it depends what OS are you working on
on linux and other free Unix like OS's 'gcc' is most popular
gcc comes for other platforms also,
on DOS turboC from borland was very popular,
on windows visual c++ is popular, though its commercial

so many to list down .. first tell the platform u planning to start on
0
 
LVL 10

Assisted Solution

by:makerp
makerp earned 100 total points
ID: 8110545
if you want to do low level c programming and want to learn the mechanics of compiling, linking etc then i suggest cygwin or djgpp on windows. search on yahoo for them...

they are just like basic compiling tools on unix and are simple to use either driven from the command line or make files.

i would avoid GUI based tools like borland and VC++ for begining as often you can not see the woord-for-the-trees with such tools and can complicate writing simple applications.

i wrote a simple OS with djgpp....
0
 
LVL 5

Expert Comment

by:Kocil
ID: 8110814
If your next step is assembler, I think Turbo C/C++ is the best because :
1. It works on DOS, which give you total control over the machine. You can do any experiment with CPU manipulation, direct memory access, BIOS, interrupt etc. Linux or Windows only give you limited virtual machine.
2. It has convenient IDE under DOS. GCC doesn't have IDE, DJGPP's RHIDE is copying Borland, VC++ is too heavy.  
3. It is accompanied by the best Turbo Debugger, support single step, trace, watch etc. And the most important thing is, you can see the assembly langguage of your C program easily. I have learnt a lot this way.
4. Then, if you ready for the assembly langguage, Turbo assembler is a good one too.

I'm sure you will have a great time to learn with Turbo C/Debugger/Assembler. If your intention is to build small systems based on embedded PC, Turbo family is all that you need.

Oh yeah, you can get free Turbo C/C++ and Turbo Debugger from Borland Museum.

ps.
I'm not a Borland marketing personnel, but a satisfied user for more than 10 years.
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
LVL 24

Expert Comment

by:fridom
ID: 8111914
Well to Kocil lcc-win32 does not even have an Windows IDE and Rersource Editor but a bunch of other things, you can easily use e.g MASM or NASM with lcc-win32 the linker can handle the generated object files.

Regards
Friedrich
0
 
LVL 5

Expert Comment

by:Kocil
ID: 8111970
Hei ... he asked one for learning, remember.
You don't suggest a Ferrari F1 car for beginner, but a Toyota :)
 
0
 
LVL 24

Expert Comment

by:fridom
ID: 8112071
So you will say that Borland tools are easier to use?
hard to believe
lc -o hello.exe hello.c does work like a charm, lcc-win32 comes with a decent Documentation and a C-Tutorial. So hardly a Ferrari.

Friedrich
0
 
LVL 3

Expert Comment

by:wide_awake
ID: 8115495
For the second part of your question, "What do you use in writing programs", it will depend on the compiler you choose.

IDEs have their own code editors built-in, and they usually have nice things like syntax hilighting (i.e. variables are one colour, strings another colour, comments another, etc.)

For a command line-based compiler like gcc, I'd suggest learning either Vi or Emacs (my preference is vi).  

To throw my 2 cents in for the "what compiler?" question, I'd suggest gcc.  It'll give you a better idea of what's really going on than an IDE.

I've never heard of a C course that didn't supply a compiler for students though, so you should probably ask your professor what s/he's expecting you to use.
0
 
LVL 5

Expert Comment

by:Kocil
ID: 8116115
Borland C++ :

  F9 = Make
  Ctrl-F9 = Run
  F1 = Help
  Ctrl-F1 = Topic Help.

And you say
lc xyz pqr

is charming ?-)

0
 
LVL 24

Expert Comment

by:fridom
ID: 8117172
No you do the same in lcc-win32 if you like Just the key-shortcuts are different.

It was not me who suggested command line tools.

Friedrich
0
 
LVL 20

Expert Comment

by:jmcg
ID: 10120657
Nothing has happened on this question in more than 10 months. It's time for cleanup!

My recommendation, which I will post in the Cleanup topic area, is to
split points between akshayxx and makerp (other good discussion, too, but these were first).

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!

jmcg
EE Cleanup Volunteer
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Preface I don't like visual development tools that are supposed to write a program for me. Even if it is Xcode and I can use Interface Builder. Yes, it is a perfect tool and has helped me a lot, mainly, in the beginning, when my programs were small…
Summary: This tutorial covers some basics of pointer, pointer arithmetic and function pointer. What is a pointer: A pointer is a variable which holds an address. This address might be address of another variable/address of devices/address of fu…
The goal of this video is to provide viewers with basic examples to understand and use pointers in the C programming language.
The goal of this video is to provide viewers with basic examples to understand and use structures in the C programming language.
Suggested Courses

764 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question