wrote:(Arnaud Debaene) wrote in message
news:...Arnaud Meurgues wrote in message
news:<41a30ccb$0$6702$...C'est fort possible. Je ne me suis jamais vraiment penché dessus,
j'avoue. Mais du coup, je me demande à quoi sert le .lib...
Essentiellement à résoudre les offsets des symboles de la DLL au
moment de l'édition de liens, et donc de diminuer le temps de
démarrage du programme (à l'execution, il n'y a plus qu'un offset à
appliquer pour tenir compte de l'addresse de chargement de la DLL).
Je n'ai rien compris de ton explication. Pour moi, un .lib, c'est
une bibliothèque non linkée, qu'on linke statiquement. Pour faire
soit un exécutable, soit un objet dynamique (.dll ou .so).
Oui, mais sous Windows il y a un autre type de fichiers : les
"librairies d'import" qui sont (à tort AMHA) nommées en ".lib" comme
les "vraies" librairies statiques. Une librairie d'import est générée
en même temps qu'une DLL et permet au linker de résoudre au link-time
les symboles de la DLL, mais elle ne contient pas de code en elle
même.
kanze@gabi-soft.fr wrote:
adebaene@club-internet.fr (Arnaud Debaene) wrote in message
news:<16a4a8c7.0411240216.380cb46b@posting.google.com>...
Arnaud Meurgues <arnaud@meurgues.non.fr.invalid> wrote in message
news:<41a30ccb$0$6702$626a14ce@news.free.fr>...
C'est fort possible. Je ne me suis jamais vraiment penché dessus,
j'avoue. Mais du coup, je me demande à quoi sert le .lib...
Essentiellement à résoudre les offsets des symboles de la DLL au
moment de l'édition de liens, et donc de diminuer le temps de
démarrage du programme (à l'execution, il n'y a plus qu'un offset à
appliquer pour tenir compte de l'addresse de chargement de la DLL).
Je n'ai rien compris de ton explication. Pour moi, un .lib, c'est
une bibliothèque non linkée, qu'on linke statiquement. Pour faire
soit un exécutable, soit un objet dynamique (.dll ou .so).
Oui, mais sous Windows il y a un autre type de fichiers : les
"librairies d'import" qui sont (à tort AMHA) nommées en ".lib" comme
les "vraies" librairies statiques. Une librairie d'import est générée
en même temps qu'une DLL et permet au linker de résoudre au link-time
les symboles de la DLL, mais elle ne contient pas de code en elle
même.
wrote:(Arnaud Debaene) wrote in message
news:...Arnaud Meurgues wrote in message
news:<41a30ccb$0$6702$...C'est fort possible. Je ne me suis jamais vraiment penché dessus,
j'avoue. Mais du coup, je me demande à quoi sert le .lib...
Essentiellement à résoudre les offsets des symboles de la DLL au
moment de l'édition de liens, et donc de diminuer le temps de
démarrage du programme (à l'execution, il n'y a plus qu'un offset à
appliquer pour tenir compte de l'addresse de chargement de la DLL).
Je n'ai rien compris de ton explication. Pour moi, un .lib, c'est
une bibliothèque non linkée, qu'on linke statiquement. Pour faire
soit un exécutable, soit un objet dynamique (.dll ou .so).
Oui, mais sous Windows il y a un autre type de fichiers : les
"librairies d'import" qui sont (à tort AMHA) nommées en ".lib" comme
les "vraies" librairies statiques. Une librairie d'import est générée
en même temps qu'une DLL et permet au linker de résoudre au link-time
les symboles de la DLL, mais elle ne contient pas de code en elle
même.
Matthieu Moy wrote in message
news:...Est-ce que tu considères le fichier /lib/libc.so.6 que j'ai sur mon
disque dur comme un plugin ou un executable ?
C'est un plugin, non ? C'est un plugin un peu spécial, dans le sens
qu'il y a beaucoup d'applications qui l'utilisent. Mais il fonctionne
comme un plugin, et existe pour à peu près la même raison : de
customiser ton application. Ici, le customiser en fonction de la version
de l'OS, etc. (et dans la pratique, il change assez peu pour que je ne
suis pas sûr qu'une édition de liens dynamiques se justifie).
Matthieu Moy <MatthieuNOSPAM.Moy@imag.fr.invalid> wrote in message
news:<vpqllcp8y75.fsf@ecrins.imag.fr>...
Est-ce que tu considères le fichier /lib/libc.so.6 que j'ai sur mon
disque dur comme un plugin ou un executable ?
C'est un plugin, non ? C'est un plugin un peu spécial, dans le sens
qu'il y a beaucoup d'applications qui l'utilisent. Mais il fonctionne
comme un plugin, et existe pour à peu près la même raison : de
customiser ton application. Ici, le customiser en fonction de la version
de l'OS, etc. (et dans la pratique, il change assez peu pour que je ne
suis pas sûr qu'une édition de liens dynamiques se justifie).
Matthieu Moy wrote in message
news:...Est-ce que tu considères le fichier /lib/libc.so.6 que j'ai sur mon
disque dur comme un plugin ou un executable ?
C'est un plugin, non ? C'est un plugin un peu spécial, dans le sens
qu'il y a beaucoup d'applications qui l'utilisent. Mais il fonctionne
comme un plugin, et existe pour à peu près la même raison : de
customiser ton application. Ici, le customiser en fonction de la version
de l'OS, etc. (et dans la pratique, il change assez peu pour que je ne
suis pas sûr qu'une édition de liens dynamiques se justifie).
writes:Matthieu Moy wrote in message
news:...Est-ce que tu considères le fichier /lib/libc.so.6 que j'ai sur mon
disque dur comme un plugin ou un executable ?
C'est un plugin, non ? C'est un plugin un peu spécial, dans le sens
qu'il y a beaucoup d'applications qui l'utilisent. Mais il fonctionne
comme un plugin, et existe pour à peu près la même raison : de
customiser ton application. Ici, le customiser en fonction de la version
de l'OS, etc. (et dans la pratique, il change assez peu pour que je ne
suis pas sûr qu'une édition de liens dynamiques se justifie).
Pour moi, un plugin, c'est un truc que je peux rajouter à une
application, pas un prérequis pour que mon applie puisse fonctionner.
Sinon, la raison principale pour laquelle /lib/libc.so.6 est
dynamique, c'est d'éviter d'avoir une copie de « printf » par
executable qui l'utilise par exemple. Dans mon vocabulaire, ça
s'appelle une « bibliothèque partagée » et non un « plugin ». Je ne
crois pas être le seul à utiliser cette terminologie, non ?
kanze@gabi-soft.fr writes:
Matthieu Moy <MatthieuNOSPAM.Moy@imag.fr.invalid> wrote in message
news:<vpqllcp8y75.fsf@ecrins.imag.fr>...
Est-ce que tu considères le fichier /lib/libc.so.6 que j'ai sur mon
disque dur comme un plugin ou un executable ?
C'est un plugin, non ? C'est un plugin un peu spécial, dans le sens
qu'il y a beaucoup d'applications qui l'utilisent. Mais il fonctionne
comme un plugin, et existe pour à peu près la même raison : de
customiser ton application. Ici, le customiser en fonction de la version
de l'OS, etc. (et dans la pratique, il change assez peu pour que je ne
suis pas sûr qu'une édition de liens dynamiques se justifie).
Pour moi, un plugin, c'est un truc que je peux rajouter à une
application, pas un prérequis pour que mon applie puisse fonctionner.
Sinon, la raison principale pour laquelle /lib/libc.so.6 est
dynamique, c'est d'éviter d'avoir une copie de « printf » par
executable qui l'utilise par exemple. Dans mon vocabulaire, ça
s'appelle une « bibliothèque partagée » et non un « plugin ». Je ne
crois pas être le seul à utiliser cette terminologie, non ?
writes:Matthieu Moy wrote in message
news:...Est-ce que tu considères le fichier /lib/libc.so.6 que j'ai sur mon
disque dur comme un plugin ou un executable ?
C'est un plugin, non ? C'est un plugin un peu spécial, dans le sens
qu'il y a beaucoup d'applications qui l'utilisent. Mais il fonctionne
comme un plugin, et existe pour à peu près la même raison : de
customiser ton application. Ici, le customiser en fonction de la version
de l'OS, etc. (et dans la pratique, il change assez peu pour que je ne
suis pas sûr qu'une édition de liens dynamiques se justifie).
Pour moi, un plugin, c'est un truc que je peux rajouter à une
application, pas un prérequis pour que mon applie puisse fonctionner.
Sinon, la raison principale pour laquelle /lib/libc.so.6 est
dynamique, c'est d'éviter d'avoir une copie de « printf » par
executable qui l'utilise par exemple. Dans mon vocabulaire, ça
s'appelle une « bibliothèque partagée » et non un « plugin ». Je ne
crois pas être le seul à utiliser cette terminologie, non ?
Alors, où est l'intérêt de l'édition de liens dynamque?
Alors, où est l'intérêt de l'édition de liens dynamque?
Alors, où est l'intérêt de l'édition de liens dynamque?
writes:Matthieu Moy wrote in message
news:...Est-ce que tu considères le fichier /lib/libc.so.6 que j'ai sur mon
disque dur comme un plugin ou un executable ?
C'est un plugin, non ? C'est un plugin un peu spécial, dans le sens
qu'il y a beaucoup d'applications qui l'utilisent. Mais il
fonctionne comme un plugin, et existe pour à peu près la même raison
: de customiser ton application. Ici, le customiser en fonction de
la version de l'OS, etc. (et dans la pratique, il change assez peu
pour que je ne suis pas sûr qu'une édition de liens dynamiques se
justifie).
Pour moi, un plugin, c'est un truc que je peux rajouter à une
application, pas un prérequis pour que mon applie puisse fonctionner.
Sinon, la raison principale pour laquelle /lib/libc.so.6 est
dynamique, c'est d'éviter d'avoir une copie de « printf » par
executable qui l'utilise par exemple.
Dans mon vocabulaire, ça s'appelle une « bibliothèque partagée » et
non un « plugin ». Je ne crois pas être le seul à utiliser cette
terminologie, non ?
kanze@gabi-soft.fr writes:
Matthieu Moy <MatthieuNOSPAM.Moy@imag.fr.invalid> wrote in message
news:<vpqllcp8y75.fsf@ecrins.imag.fr>...
Est-ce que tu considères le fichier /lib/libc.so.6 que j'ai sur mon
disque dur comme un plugin ou un executable ?
C'est un plugin, non ? C'est un plugin un peu spécial, dans le sens
qu'il y a beaucoup d'applications qui l'utilisent. Mais il
fonctionne comme un plugin, et existe pour à peu près la même raison
: de customiser ton application. Ici, le customiser en fonction de
la version de l'OS, etc. (et dans la pratique, il change assez peu
pour que je ne suis pas sûr qu'une édition de liens dynamiques se
justifie).
Pour moi, un plugin, c'est un truc que je peux rajouter à une
application, pas un prérequis pour que mon applie puisse fonctionner.
Sinon, la raison principale pour laquelle /lib/libc.so.6 est
dynamique, c'est d'éviter d'avoir une copie de « printf » par
executable qui l'utilise par exemple.
Dans mon vocabulaire, ça s'appelle une « bibliothèque partagée » et
non un « plugin ». Je ne crois pas être le seul à utiliser cette
terminologie, non ?
writes:Matthieu Moy wrote in message
news:...Est-ce que tu considères le fichier /lib/libc.so.6 que j'ai sur mon
disque dur comme un plugin ou un executable ?
C'est un plugin, non ? C'est un plugin un peu spécial, dans le sens
qu'il y a beaucoup d'applications qui l'utilisent. Mais il
fonctionne comme un plugin, et existe pour à peu près la même raison
: de customiser ton application. Ici, le customiser en fonction de
la version de l'OS, etc. (et dans la pratique, il change assez peu
pour que je ne suis pas sûr qu'une édition de liens dynamiques se
justifie).
Pour moi, un plugin, c'est un truc que je peux rajouter à une
application, pas un prérequis pour que mon applie puisse fonctionner.
Sinon, la raison principale pour laquelle /lib/libc.so.6 est
dynamique, c'est d'éviter d'avoir une copie de « printf » par
executable qui l'utilise par exemple.
Dans mon vocabulaire, ça s'appelle une « bibliothèque partagée » et
non un « plugin ». Je ne crois pas être le seul à utiliser cette
terminologie, non ?
Matthieu Moy wrote in message
news:...Pour moi, un plugin, c'est un truc que je peux rajouter à une
application, pas un prérequis pour que mon applie puisse fonctionner.
Alors, c'est quoi ? C'est bien quelque chose qu'on ajoute à
l'application lors de l'execution, en fonction de l'environement.
Dans mon vocabulaire, ça s'appelle une « bibliothèque partagée » et
non un « plugin ». Je ne crois pas être le seul à utiliser cette
terminologie, non ?
À vrai dire, je ne l'ai jamais entendu.
Matthieu Moy <MatthieuNOSPAM.Moy@imag.fr.invalid> wrote in message
news:<vpqact4vrqh.fsf@ecrins.imag.fr>...
Pour moi, un plugin, c'est un truc que je peux rajouter à une
application, pas un prérequis pour que mon applie puisse fonctionner.
Alors, c'est quoi ? C'est bien quelque chose qu'on ajoute à
l'application lors de l'execution, en fonction de l'environement.
Dans mon vocabulaire, ça s'appelle une « bibliothèque partagée » et
non un « plugin ». Je ne crois pas être le seul à utiliser cette
terminologie, non ?
À vrai dire, je ne l'ai jamais entendu.
Matthieu Moy wrote in message
news:...Pour moi, un plugin, c'est un truc que je peux rajouter à une
application, pas un prérequis pour que mon applie puisse fonctionner.
Alors, c'est quoi ? C'est bien quelque chose qu'on ajoute à
l'application lors de l'execution, en fonction de l'environement.
Dans mon vocabulaire, ça s'appelle une « bibliothèque partagée » et
non un « plugin ». Je ne crois pas être le seul à utiliser cette
terminologie, non ?
À vrai dire, je ne l'ai jamais entendu.
Et comment ça peut-il marcher ? Si j'ai des offsets en dur dans mon
executable, je suis obligé à ne charger que la DLL avec laquelle j'ai
linké.
Pas tout à fait. J'ai vérifié et ma description était un peu imprécise : En
Alors, où est l'intérêt de l'édition de liens dynamque?
Mais il est parfaitement possible de faire de l'édition de lien vraiement
Et comment ça peut-il marcher ? Si j'ai des offsets en dur dans mon
executable, je suis obligé à ne charger que la DLL avec laquelle j'ai
linké.
Pas tout à fait. J'ai vérifié et ma description était un peu imprécise : En
Alors, où est l'intérêt de l'édition de liens dynamque?
Mais il est parfaitement possible de faire de l'édition de lien vraiement
Et comment ça peut-il marcher ? Si j'ai des offsets en dur dans mon
executable, je suis obligé à ne charger que la DLL avec laquelle j'ai
linké.
Pas tout à fait. J'ai vérifié et ma description était un peu imprécise : En
Alors, où est l'intérêt de l'édition de liens dynamque?
Mais il est parfaitement possible de faire de l'édition de lien vraiement
Et comment ça peut-il marcher ? Si j'ai des offsets en dur dans mon
executable, je suis obligé à ne charger que la DLL avec laquelle j'ai
linké. Alors, où est l'intérêt de l'édition de liens dynamque?
Et comment ça peut-il marcher ? Si j'ai des offsets en dur dans mon
executable, je suis obligé à ne charger que la DLL avec laquelle j'ai
linké. Alors, où est l'intérêt de l'édition de liens dynamque?
Et comment ça peut-il marcher ? Si j'ai des offsets en dur dans mon
executable, je suis obligé à ne charger que la DLL avec laquelle j'ai
linké. Alors, où est l'intérêt de l'édition de liens dynamque?