Difference between toolchain & compiler

Thread Starter

aamirali

Joined Feb 2, 2012
412
What I get is compiler is source code wich converts user written source code into another form of source code

while toolchain contains everything like compiler, linker, libraries.
 

shell.albert

Joined Jul 23, 2014
21
compiler is to do compile work,it translate your source code to object code only.
tool chain is a set of developing tools,include compiler,linker,libraries,dump,.etc.
with a tool chain,you can develop the complete application,it can be run in real.
for example as below:
arm-linux-gcc is a cross compiler.
but arm-linux-gcc & arm-linux-ld &arm-linux-dump ,etc are a tool chain.
 

sirch2

Joined Jan 21, 2013
1,037
aamirali - you are nearly there with your description. In its broadest sense a tool-chain can be any set of tools that you use together to produce something, e.g. schematic capture - auto router - gerber generator is a tool-chain. But assuming you are talking about software development tool chains then...

A compiler takes your source code and compiles it into "machine code" - i.e. a binary representation that a processor can read from memory and execute. In "C" like languages programs are normally made up of several files and some libraries, the compiler generates a binary output file for each C source file. These individual files need to be linked together so that a function call to a library or another C source file actually points to the correct address, A linker does this.

So at the simplest level for C the tool chain is a compiler and linker. But it might include make files to automate the build, a programmer for burning the target, etc.

However, personally I wouldn't say libraries are part of the tool-chain because they become part of the deliverable product. The tool-chain is the things used to build the product but are not part of the finished product.
 
Top