Components are C source and header files, compiler preprocessor, compiler proper, optimizer (optional), code generator/assembler, interprocedural optimizer (optional), link editor, libraries, and a.out.