![](https://csdnimg.cn/release/download_crawler_static/10666252/bg4.jpg)
Describing the SECTIONS directive requires an understanding of these
terms.
Object file - For the purposes of this article, an object file
is a collection of input sections. An object file can be
presented directly to the linker (via the command line or in a
command file), or it can come from a library.
Input Section - One section from one object file. An input
section can be initialized or uninitialized. It can contain
code or data.
Output Section - A collection of one or more input sections.
Output sections are formed according to the SECTIONS directive,
with extremely rare exceptions not described in this article.
Memory Range - A range of system memory specified in the MEMORY
directive
Section Naming Conventions
In theory, you can't know anything about the contents of an input
section based on the name alone. Nonetheless, input sections with
these names usually have these contents:
Name Initialized
Notes
.text yes
executable
code
.bss no
global
variables
.cinit yes
tables which
initialize
global
variables
ABI)
yes
initialized
data
.data
(EABI)
yes and no
initialized
the
assembler;
changed to
uninitialized
by the linker