3.2.1 The Compiler Applications

The main internal compiler applications and files are shown in the illustration below.

The large shaded box represents the compiler, which is controlled by the command line driver, xc8-cc. You might be satisfied just knowing that C source files (shown on the far left) are passed to the compiler and the resulting output files (shown here as a HEX and ELF debug file on the far right) are produced; however, internally there are many applications and temporary files being produced. An understanding of the internal operation of the compiler, while not necessary, does assist with using the tool.

The driver will call the required compiler applications when required. These applications are located in the compiler’s bin directories and are shown in the diagram as the smaller boxes inside the driver.

The temporary files produced by each application can also be seen in this diagram and are marked at the point in the compilation sequence where they are generated. The intermediate files for C source are shaded in red. Some of these temporary files remain after compilation has concluded. There are also driver options to request that the compilation sequence halt after execution of a particular application so that the output of that application remains in a file and can be examined.

Figure 3-1. Compiler Applications And Files

It is recommended that only the archiver (xc8-ar) internal application be executed directly. The archiver's command-line options are described in Utilities. A separate Hexmate User's Guide is available if you need to run this HEX file manipulation utility after building your project.