Microchip Technology SW006023-3N Ficha De Dados

Página de 238
MPLAB
®
 XC32 C/C++ Compiler User’s Guide
DS51686E-page 58
 2012 Microchip Technology Inc.
3.6
START-UP AND INITIALIZATION
For C:
There is only one start-up module, which initializes the C runtime environment. 
The source code for this is found in 
<install-directory>/pic32-libs/libpi32c/startup/crt0.S
 and it is 
precompiled into the library <install-directory>/pic32mx/lib/crt0.o. 
Multilib versions of these modules exist in order to support architectural differences 
between device families.
For C++:
Code from five object files link sequentially to create a single initialization routine, which 
initializes the C++ runtime environment.
The source code for this is found in 
<install-directory>/pic32-libs/libpic32/startup
.
The PIC32 precompiled startup objects are located in 
<install-directory>/pic32mx/lib/
 and the filenames are cpprt0.o, 
crti.o
, and crtn.o. 
The GCC precompiled startup objects are located in 
<install-directory>/lib/gcc/pic32mx/<gcc-version>/
 and the file-
names are crtbegin.o and crtend.o. Multilib variations of these modules exist in 
order to support architectural differences between device families and also optimization 
settings.
For more information about what the code in these start-up modules actual does, see 
Section 12.3 “Runtime Start-up Code”.
3.7
COMPILER OUTPUT
There are many files created by the compiler during the compilation. A large number of 
these are intermediate files and some are deleted after compilation is complete, but 
many remain and are used for programming the device, or for debugging purposes.
3.7.1
Output Files
The compilation driver can produce output files with the following extensions, which are 
case-sensitive.
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 an object file called 
input.o
.
The main output file is an ELF file called a.out, unless you override that name using 
the -o option.
TABLE 3-3:
FILE NAMES
Extensions
Definition
file.hex
Executable file
file.elf
ELF debug file
file.o
Object file (intermediate file)
file.s
Assembly code file (intermediate file)
file.i
Preprocessed C file (intermediate file)
file.ii
Preprocessed C++ file (intermediate file)
file.map
Map file