Détails techniques sur LLD
Remonter à Lieurs C++
Veuillez consulter la page Utilisation de LLD à partir de la ligne de commande pour plus d'informations sur l'utilisation de LLD depuis la ligne de commande.
LLD
LLD est un lieur du projet LLVM qui peut remplacer directement les lieurs système tels que GNU BFD et gold avec un temps d'exécution beaucoup plus rapide. De plus, ses fonctionnalités sont particulièrement utiles pour les développeurs de chaînes d'outils.
Le projet LLD supporte par ordre décroissant de niveau de prise en charge ELF (Unix), PE/COFF (Windows), Mach-O (macOS) et WebAssembly. Toutefois, RAD Studio prend uniquement en charge COFF pour Windows.
Paramètres du lieur
Veuillez prendre en compte les informations suivantes sur le comportement et les caractéristiques du lieur LLD.
- Nettoyer la mémoire des sections non utilisées : cette option correspond à
--gc-sectionset, lorsqu'elle est désactivée, à--no-gc-sections. Cette option peut être très utile pour réduire la taille de votre binaire final (EXE ou DLL). - Compatible Data Execution Prevention (activée par défaut). Lorsqu'elle est désactivée, cette option correspond à
--disable-nxcompat. - DLL à chargement retardé : cette option correspond à
--delayload=... Permet de spécifier une liste de DLL dont le chargement sera différé. - Alignement de fichier : cette option correspond à
--file-alignment=avec une valeur par défaut de 0x200 (512).
Attention: Cette valeur doit être un multiple de 512. - Alignement d'objet : cette option correspond à
--section-alignment=avec une valeur par défaut de 0x1000 (4096).
Attention: Cette valeur doit être un multiple de 512. - ASLR/Randomisation du format d'espace d'adressage avec entropie élevée (activée par défaut) : cette option correspond à
--disable-dynamicbaselorsqu'elle est désactivée. - Liaison commentée : cette option est utile pour diagnostiquer les problèmes de liaison.
- Alignement des sections par fichier objet : LLD applique l'alignement demandé par les sections de chaque fichier objet, y compris l'alignement sur 16 octets requis par les nouveaux jeux d'instructions (SSE/AVX). L'ancien lieur ilink n'appliquait pas l'alignement par fichier objet, ce qui explique pourquoi les jeux d'instructions récents n'étaient pas activés dans le passé.
- Désormais, RAD Studio prend en charge les options de compilation
-fdata-sectionset-ffunction-sections.Voir aussi