Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
commande ld...
Envoyé par: totoetlititi

Ben je comprends pas a quoi elle sert...
Elle permet de lier des librairies, mais je vois pas le but...

Poste le Thursday 22 January 2004 18:03:54
Répondre     Citer    
Re: commande ld...
Envoyé par: abgech

Cette commande est tout simplement l'éditeur de liens de gcc (en fait gcc n'est pas, à proprement parler un compilateur, il appelle différents programmes qui réalisent, en collaborations une complisation: préprocesseur, compilateur, assembler et pour finir édition des liens.
L'édition des liens consiste à rassembler tous les modules précédemment compilés (qu'ils soient sous forme translatable isolés (*.o) ou comme membres d'une librairie statique (lib*.a). Lors du rassemblement, l'éditeur de liens effectue les liens (d'où son nom) entre les différents modules, c'est à dire que lorsqu'un module 'a' invoque un module 'b', il va mettre l'adresse à laquelle il a mis 'b' dans 'a' à l'endroit où 'a' invoque 'b'.
Cela fait la troisième fois en moins de quinze jours que je réponds à une question concernant le "link-edit" (éditeur de liens en français). Il semble qu'il y a là un point où le message ne passe pas vraiment bien. Peut-être devrais-je pondre un jus quelconque sur le sujet ? Mais en ai-je le temps ?

Poste le Thursday 22 January 2004 19:44:51
Répondre     Citer    
Re: commande ld...
Envoyé par: totoetlititi

Merci, c'est tres clair !
Mais je ne comprends pas pourquoi quand a la fin de ma compilation j'écris:
$ ld -shared example.o example_wrap.o -o _example.so
J'ai une suite d'erreur de "undefined reference" de chaq'une de mes fonctions....

Poste le Thursday 22 January 2004 21:00:01
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
commande ld...
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons