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.
 

sirch2

Joined Jan 21, 2013
1,075
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