Red Hat ENTERPRISE LINUX 3 - DEVELOPER TOOLS GUIDE Guide de l'utilisateur Page 33

  • Télécharger
  • Ajouter à mon manuel
  • Imprimer
  • Page
    / 100
  • Table des matières
  • MARQUE LIVRES
  • Noté. / 5. Basé sur avis des utilisateurs
Vue de la page 32
Static Linking
23
compliant to the latest revision of the language standards available in more recent Red Hat Enterprise
Linux releases.
As such, Red Hat advises that you refer to the Red Hat Enterprise Linux 6 Application Compatibility
Specification
4
for guidance. This document outlines Red Hat policy and recommendations regarding
backwards compatibility, particularly for specific packages.
3.2.4. Static Linking
Static linking is emphatically discouraged for all Red Hat Enterprise Linux releases. Static linking
causes far more problems than it solves, and should be avoided at all costs.
The main drawback of static linking is that it is only guaranteed to work on the system it was built, and
even so, only until the next release of glibc or libstdc++ (in the case of C++). There is no forward or
backward compatibility with a static build. Furthermore, any security fixes (or general-purpose fixes) in
subsequent updates to the libraries will not be avilable unless the affected statically linked executables
are re-linked.
Additional reasons to avoid static linking include:
Larger memory footprint.
Slower application startup time.
Reduced glibc features with static linking.
Security measures like load address randomization cannot be used.
Dynamic loading of shared objects outside of glibc is not supported.
The above are only a handful of reasons why static linking should be avoided. For additional reasons,
see: Static Linking Considered Harmful
5
.
3.3. Library and Runtime Details
3.3.1. The GNU C Library
The glibc package contains the GNU C Library. This defines all functions specified by the ISO C
standard, POSIX specific features, some Unix derivatives, and GNU-specific extensions. The most
important set of shared libraries in the GNU C Library are the standard C and math libraries.
The GNU C Library defines its functions through specific header files, which you can declare in source
code. Each header file contains definitions of a group of related facilities; for example, the stdio.h
header file defines I/O-specific facilities, while math.h defines functions for computing mathematical
operations.
3.3.1.1. GNU C Library Updates
The Red Hat Enterprise Linux 6 version of the GNU C Library features the following improvements
over its Red Hat Enterprise Linux 5 version:
Added locales, including:
4
https://www.redhat.com/f/pdf/rhel/RHEL6_App_Compatibility_WP.pdf
5
http://www.akkadia.org/drepper/no_static_linking.html
Vue de la page 32
1 2 ... 28 29 30 31 32 33 34 35 36 37 38 ... 99 100

Commentaires sur ces manuels

Pas de commentaire