The overall structure of programs and the facilities
for separate compilation are described in this clause. A program
is a set of partitions, each of which may execute in a separate
address space, possibly on a separate computer.
As
explained below, a partition is constructed from
library units.
Syntactically, the declaration of a library unit is a
library_item,
as is the body of a library unit. An implementation may support a concept
of a
program library (or simply, a “library”), which
contains
library_items
and their subunits.
Library units may be organized
into a hierarchy of children, grandchildren, and so on.
This clause has two subclauses:
10.1,
“
Separate Compilation” discusses
compile-time issues related to separate compilation.
10.2,
“
Program Execution” discusses
issues related to what is traditionally known as “link time”
and “run time” — building and executing partitions.