4. File formats¶
This chapter describes the file formats recognized by rustc.
A source file that contains
Rust code must have file extension rs, for example:
my_program.rs
4.1. Libraries¶
A library is a reusable collection of non-volatile resources, such as functionality and data, used by another library or executable.
Compiling a source file with name name using rustc
produces a library with name libname, where the file extension is either
rlib for a Rust static library or so for a native dynamic library.
The rlib file format is specific to rustc, and may change over time. It is
similar to a tar file, and contains roughly:
Object code, produced by code generation,
LLVM bitcode,
rustc metadata,
A symbol table.
The so file format is target-dependent. Consult the documentation of your
specific target.
4.2. Executables¶
An executable (or a binary) causes a computer to perform indicated tasks according to encoded instructions.
Compiling a source file with name name using rustc
produces an executable with name name, without a file extension.
The file format of an executable is target-dependent. Consult the documentation of your specific target.