Export von Funktionen in den Libraries

Unter Windows würde man die zu exportierenden Funktionen einfach in einem h-File (beispielsweise "dlldeclare.h" genannt) zusammenfassen und dabei mit den Deklarationen "__declspec(dllexport)" und "__declspec(dllimport)" versehen.
Ein Beispiel dafür ist unter Export von Klassen/Strukturen/Methoden/Funktionen, die STL-Objekte (oder Templates allgemein) als Member/Parameter verwenden zu finden.

Auf Posix-Systemen erfolgt der Export von Funktionen (was im Endeffekt die Steuerung von Sichtbarkeit deren ist) durch die Zuweisung von Attributen an die betroffenen Funktionen.
Mehr zu den Attributen von Funktionen ist auf der GCC-Seite zu lesen: https://gcc.gnu.org/onlinedocs/gcc-4.8.1/gcc/Function-Attributes.html (en)

Eine detaillierte Beschreibung zum Thema Export gibt es ebenfalls auf der GCC-Seite: https://gcc.gnu.org/wiki/Visibility (en)

Unter https://www.akkadia.org/drepper/dsohowto.pdf (en) findet man eine Anleitung von Ulrich Drepper (führender Betreuer von GNU glibc), wie man Shared Libraries richtig schreibt.

FIXME


Stand: 14.04.2016
: Jürgen Kreick

EOF