This is a very basic article. I would say for newbie's or for those who are misguided. Also, I was asked this question by some one recently. The question or rather statement "Tourbo C is a nice compiler for it has a very nice gui. Gcc gui is not good."
Well the problem here is that we are getting confused with the compiler and the IDE (Integrated Development Environment). The compiler is usually a parser ( Text paser for simplicity) that runs through a text file ( which we typically name with extensions like .c, .h etc) and feed it to this parser. The job of the parser ( or compiler hence forth) is to parse the file and output another file based on certain rules which should be adhered to by the writer of the text ( or code henceforth ). The other file that is usually output is object file. Note that as intermediate step the compiler generates assembly code which usally not output ( unless you tell the compiler to show you this specifically by a commandline option -S for gcc) . The object code which can be linked to form the executable. COFF & ELF are common object file formats, however compiler writers are free to choose what the want.
Now coming to the IDE. IDE has really got nothing to do with your compiler. The key words are explained here
Integrated: Usually every compiler vendor comes up with his/her own Editor to help the coder to write his code. Why a specific editor? Typically, each compiler provides it own set of special key words etc which the editor can highlight is specific colors and other features like codesense are provided for the ease of the coder.
Development : Yeah! we all write code to do something or develop something
Environment : This is the key term. The IDE provides an environment for the coder where he doesn't need to know the intricacies of compiler and more low level details of how to use it. You can can just take the IDE and start writing your code without bothering about what are the command line arguments that need to be passed to compiler. Also, you need not worry about feeding the include paths etc ( not all IDE's have this feature).
Now i try to defend gcc. I have used gcc with two ( or three??) IDE's and it works great. The simple ones are dev-ccp & code::Blocks. The difficult ones are actually extinct now....codewright. Note that the best part about gcc is that it is a single compiler that will allow you to compiler with a whole lot of customizations through the command line arguments. I remember a project where i was using gcc only for creating dependency files which used to get fed to a embedded compiler which unfortunately did not have the capability to make dependency files ( Folks at my previous firm will know about this!!).
Why we need dependency file will be explained in another post soon. Bis dan.....
Please leave your comment. You can subscribe to this blog by using the links under "Subscribe" section.
Well the problem here is that we are getting confused with the compiler and the IDE (Integrated Development Environment). The compiler is usually a parser ( Text paser for simplicity) that runs through a text file ( which we typically name with extensions like .c, .h etc) and feed it to this parser. The job of the parser ( or compiler hence forth) is to parse the file and output another file based on certain rules which should be adhered to by the writer of the text ( or code henceforth ). The other file that is usually output is object file. Note that as intermediate step the compiler generates assembly code which usally not output ( unless you tell the compiler to show you this specifically by a commandline option -S for gcc) . The object code which can be linked to form the executable. COFF & ELF are common object file formats, however compiler writers are free to choose what the want.
Now coming to the IDE. IDE has really got nothing to do with your compiler. The key words are explained here
Integrated: Usually every compiler vendor comes up with his/her own Editor to help the coder to write his code. Why a specific editor? Typically, each compiler provides it own set of special key words etc which the editor can highlight is specific colors and other features like codesense are provided for the ease of the coder.
Development : Yeah! we all write code to do something or develop something
Environment : This is the key term. The IDE provides an environment for the coder where he doesn't need to know the intricacies of compiler and more low level details of how to use it. You can can just take the IDE and start writing your code without bothering about what are the command line arguments that need to be passed to compiler. Also, you need not worry about feeding the include paths etc ( not all IDE's have this feature).
Now i try to defend gcc. I have used gcc with two ( or three??) IDE's and it works great. The simple ones are dev-ccp & code::Blocks. The difficult ones are actually extinct now....codewright. Note that the best part about gcc is that it is a single compiler that will allow you to compiler with a whole lot of customizations through the command line arguments. I remember a project where i was using gcc only for creating dependency files which used to get fed to a embedded compiler which unfortunately did not have the capability to make dependency files ( Folks at my previous firm will know about this!!).
Why we need dependency file will be explained in another post soon. Bis dan.....
Please leave your comment. You can subscribe to this blog by using the links under "Subscribe" section.
Powered by ScribeFire.