3.4.1 Output Files

The common output file types and case-sensitive extensions are shown in Table 3-2.

Table 3-2. Common Output Files
Extension File Type How created
.hex Intel HEX avr-objcopy application
.elf ELF (Executable and Linkable Format) with Dwarf debugging information -o option
.s Assembly file -S option
.i Preprocessed C file -E and -o option

The default behavior of xc8-cc is to produce an ELF file called a.out, unless you override that name using the -o option.

The ELF/DWARF file is used by debuggers to obtain debugging information about the project and allows for more accurate debugging compared to other formats, such as COFF. Some aspects of the project’s operation might not even be available to your debugger when using COFF. Development environments will typically request the compiler to produce an ELF file.

The names of many output files use the same base name as the source file from which they were derived. For example the source file input.c will create a file called input.o when the -c option is used.