A compiler reads in source code and then produces machine code, normally in the form of an executable file. The machine code it produces is sometimes known as object code. The machine understands this object code and can run it directly. Sometimes object code is stored into libraries or drivers. A common example of library object files are dynamic link libraries, DLL’s, on the windows OS. These files are still object code but rather than running on their own they are used by other programs to perform complex tasks. This could be drawing to the screen or talking across a network.