ILINK32

De RAD Studio
Aller à : navigation, rechercher

Remonter à Lieurs C++


ILINK32 lie des modules objets (fichiers .OBJ), des modules bibliothèques (fichiers .LIB) et des ressources pour produire des fichiers exécutables (fichiers .EXE, .DLL et .BPL). ILINK32 crée et gère une série de fichiers d'état du lieur contenant ces informations. Ces fichiers d'état permettent aux liens suivants d'être de type incrémentiel, ce qui réduit sensiblement la durée totale des liens. Voir Fichiers d'état du lieur et Fichier d'informations de débogage.

Fichiers de définition de module

Le fichier de définition de module est un fichier texte ASCII qui fournit des informations à ILINK32 sur le contenu et les exigences système d'une application Windows. Vous pouvez créer un fichier de définition de module en utilisant IMPDEF.EXE, et vous pouvez créer des bibliothèques d'importation à partir de fichiers de définition de module en utilisant IMPLIB.EXE.

Si aucun fichier de définition de module n'est spécifié, les valeurs par défaut suivantes sont utilisées :

CODE        PRELOAD MOVEABLE DISCARDABLE
DATA        PRELOAD MOVEABLE MULTIPLE  (for applications)
            PRELOAD MOVEABLE SINGLE    (for DLLs)
HEAPSIZE    4096
STACKSIZE   1048576

Pour donner à une application d'autres attibuts que ceux par défaut, vous devez créer un fichier de définition de module.

Si vous supprimez l'instruction EXETYPE, le lieur peut déterminer le type d'exécutable que vous voulez produire à partir des options de la ligne de commande.

Vous pouvez inclure une bibliothèque d'importation à la place de la section IMPORTS du fichier de définition de module.

Vous pouvez utiliser le mot réservé __declspec(dllexport) ou _export dans les définitions des fonctions d'exportation de votre code source C et C++ pour vous passer d'une section EXPORTS. Notez cependant que si vous utilisez __declspec(dllexport) ou _export pour exporter une fonction, celle-ci sera exportée par son nom et non par son numéro ordinal. Veuillez aussi noter que __declspec(dllexport) est la méthode d'exportation préférée.

Pour de plus amples informations, voir Fichiers de définition de module.

Fichiers d'état du lieur

Les quatre fichiers d'état du lieur ont les extensions suivantes :

  • .ILC (fichier de code du lieur)
  • .ILD (fichier de données du lieur)
  • .ILF (autre fichier du lieur)
  • .ILS (fichier de symboles du lieur)

Ces quatre fichiers sont requis pour la liaison incrémentielle.

Vous pouvez contrôler les fichiers d'état du lieur dans la page Projet > Options > Lieur C++ , comme suit :

  • Pour désactiver la création des fichiers d'état du lieur, cochez l'option Désactiver la liaison incrémentielle (-Gn).
  • Pour effacer les fichiers d'état du lieur actuels et en créer de nouveaux dans la prochaine opération de liaison, cochez l'option Effacer l'état avant la liaison (-C).

Fichier d'informations de débogage

Si vous incluez des informations de débogage dans l'exécutable lié final, ILINK32 stockera toujours les informations de débogage dans un fichier de débogage TDS distinct, nommé par défaut <project>.tds. Le débogueur devrait être capable de lire ce fichier d'informations du débogueur. ILINK32 crée toujours ce fichier. Si le commutateur du lieur -v (ou /v) n'est pas activé, le fichier des symboles de débogage est signalé comme étant non valide.

DCC32.exe (le compilateur Delphi) a un commutateur de ligne de commande -VT pour la génération des fichiers des symboles de débogage. Vous pouvez spécifier que le compilateur Delphi doit générer les fichiers des symboles de débogage en activant l'option Placer les informations de débogage dans un fichier TDS distinct sur la page Liaison de la boîte de dialogue Options de projet.

Voir aussi