Question

J'ai essayé de trouver comment créer des DLL sur Linux sous google, mais j'ai obtenu des informations très confuses.

Est-il possible d'écrire des bibliothèques de liens dynamiques sur Linux? Sinon, existe-t-il un autre moyen d'appeler du code dans un autre module à partir de plusieurs programmes en cours d'exécution?

Était-ce utile?

La solution

C'est parce que DLL est un terme Windows. Sous Linux, elles sont appelées bibliothèques partagées.

http: //www.linux. org / docs / ldp / howto / Program-Library-HOWTO / shared-libraries.html

Autres conseils

Comme Sklivvz a été utilisé, le terme que vous recherchez après linux est objet partagé. Celles-ci se voient attribuer l'extension de fichier .so .

En utilisant gcc, vous pouvez créer un .so à l'aide de l'option -shared .

par exemple.


gcc -shared -o libfoo.so foo.c

Si vous nommez votre objet partagé lib * .so, vous pouvez le compiler en utilisant l’option -l de votre éditeur de liens. Notez que la commande " lib " est inféré dans cette circonstance.

c'est-à-dire


ld -o a.out -lfoo someobject.o 

Vous pouvez également charger des fichiers .so au moment de l'exécution, exactement comme avec les .dll , en utilisant dlopen () et dlsym ().

C’est un lot si vous commencez à peine à démarrer, mais vous devrez faire référence à Ulrich Drepper & # 8217; s & # 8220; Comment écrire des bibliothèques partagées . & # 8221;

Je suppose que vous voulez des fichiers .SO à la place des fichiers DLL, c'est-à-dire un objet partagé, et non pas StackOverflow :).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top